eAccelerator的安装与使用详解


Posted in PHP onJune 13, 2013

一、PHPeAccelerator安装
去https://github.com/eaccelerator/eaccelerator/downloads下载最新版安装包,解压安装包,进入解压后的文件夹目录,

编译:

 $PHP_PREFIX/bin/phpize
./configure--enable-shared --with-php-config=$PHP_PREFIX/bin/php-config
make

安装:
makeinstall

修改php.ini:
extension="eaccelerator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"

新建缓存目录:
mkdir/tmp/eaccelerator
chmod0777 /tmp/eaccelerator

二、PHPeAccelerator配置选项
eaccelerator.shm_size
用来设置分配给eAccelerator用来缓存php的最大共享内存,单位是mb,如果设置为0,就使用默认大小。在linux系统中一个process能分配的最大内存是由/proc/sys/kernel/shmmax限制的,所以如果eA设置的内存超出了这个值,eA在初始化的时候会失败。shmmax的单位是字节(bytes

eaccelerator.cache_dir
用来设置硬盘缓存目录。eA用来存放预编译代码,session数据,内容和用户入口。默认值是"/tmp/eaccelerator"

eaccelerator.enable
用来设置是否启用或禁用eAccelerator,设置1为启用,设置0为禁用。

eaccelerator.optimizer
开启或关闭优化,用户加速代码的执行。1为开启,0为关闭,优化仅仅在脚本被编译时候发生并且是在被缓存之前。

eaccelerator.debug
开启关闭debug日志。如果设置为1,将打印很多文件命中的信息到日志中。这个在排查eAccelerator的时候很有用。

eaccelerator.check_mtime
在每次命中的时候Eaccelerator都会检查脚本的修改时间来判断是不是脚本发生的变化来决定是否需要重新编译。尽管检查比打开文件并编译要快,但仍然会带来一些开销的,因为每次都会有状态调用要完成。这个配置可以关闭这个检查。不过关闭检查带来的不利就是每次更新了文件需要认为手动的清除cache。默认检查是启用的,1是启用,0是禁用。

eaccelerator.filter
用来决定哪个php文件被缓存。可以通过使用通配符(比如"*.php*.phtml")来匹配需要缓存的php脚本。如果以"!"开头,表示不匹配,这个参数默认是空,可以缓存所有编译好的php脚本需要注意的是eaccelerator.filter并不是基于URL工作的,而是基于文件的绝对路径,比如定义了"!/home"的话,那所有/home目录的脚本都不会被缓存。如果要定义多个匹配,使用空格或者制表符分开,而不是逗号。

eaccelerator.shm_ttl
eAcelerator没有空余的共享内存的时候,就会把最少shm_ttl设置的秒数没访问过的脚本从缓存中释放掉,默认值是0,表示eA不会释放任何缓存。

eaccelerator.shm_prune_period
当没有足够的内存用来缓存的时候,eA会在上次清除缓存的时间超过了shm_prune_period设定的秒数时再次尝试清除过期的脚本。默认值为0eA将不从缓存中清除过期的脚本。

eaccelerator.shm_only
启用或者禁用磁盘缓存。这个选项对session数据和内容的缓存没效果。默认值是0,允许eA使用磁盘和内存进行缓存。

eaccelerator.allowed_admin_path
启用或者禁用磁盘缓存。这个选项对session数据和内容的缓存没效果。默认值是0,允许eA使用磁盘和内存进行缓存。

三、PHPeAccelerator监控与管理
eAccelerator提供了control.php,用于监控与管理eAccelerator缓存。将control.php放到网站目录中,修改账号、密码,即可通过浏览器监控与管理eAccelerator缓存。
control.php第23、24行:

$user= "admin";
$pw= "password";
PHP 相关文章推荐
PHP聊天室技术
Oct 09 PHP
谈谈新手如何学习PHP
Dec 23 PHP
phpmyadmin 3.4 空密码登录的实现方法
May 29 PHP
php的大小写敏感问题整理
Dec 29 PHP
php列出一个目录下的所有文件的代码
Oct 09 PHP
destoon实现调用自增数字从1开始的方法
Aug 21 PHP
php批量添加数据与批量更新数据的实现方法
Dec 16 PHP
Docker 如何布置PHP开发环境
Jun 21 PHP
php获取flash尺寸详细数据的方法
Nov 12 PHP
CI框架常用函数封装实例
Nov 21 PHP
CI框架(CodeIgniter)实现的导入、导出数据操作示例
May 24 PHP
PDO::_construct讲解
Jan 27 PHP
探讨Hessian在PHP中的使用分析
Jun 13 #PHP
深入PHP变量存储的详解
Jun 13 #PHP
深入PHP中的HashTable结构详解
Jun 13 #PHP
基于PHP输出缓存(output_buffering)的深入理解
Jun 13 #PHP
php缓冲 output_buffering的使用详解
Jun 13 #PHP
如何在PHP中使用正则表达式进行查找替换
Jun 13 #PHP
php启用zlib压缩文件的配置方法
Jun 12 #PHP
You might like
PHP带节点操作的无限分类实现方法详解
2016/11/09 PHP
Laravel 将数据表的数据导出,并生成seeds种子文件的方法
2019/10/09 PHP
document.all的一个比较完整的总结及案例
2013/01/31 Javascript
js或者jquery判断图片是否加载完成实现代码
2013/03/20 Javascript
Query中click(),bind(),live(),delegate()的区别
2013/11/19 Javascript
javascript实现单击和双击并存的方法
2014/12/13 Javascript
jQuery+PHP实现动态数字展示特效
2015/03/14 Javascript
如何使用jquery修改css中带有!important的样式属性
2016/04/28 Javascript
js实现移动端微信页面禁止字体放大
2017/02/16 Javascript
jquery+css实现简单的图片轮播效果
2017/08/07 jQuery
JS对象序列化成json数据和json数据转化为JS对象的代码
2017/08/23 Javascript
详解Vue-cli中的静态资源管理(src/assets和static/的区别)
2018/06/19 Javascript
webpack手动配置React开发环境的步骤
2018/07/02 Javascript
基于vue-draggable 实现三级拖动排序效果
2020/01/10 Javascript
vue 实现超长文本截取,悬浮框提示
2020/07/29 Javascript
antd 表格列宽自适应方法以及错误处理操作
2020/10/27 Javascript
如何在vue 中使用柱状图 并自修改配置
2021/01/21 Vue.js
学习python (1)
2006/10/31 Python
python django集成cas验证系统
2014/07/14 Python
实例讲解Python中函数的调用与定义
2016/03/14 Python
Python 备份程序代码实现
2017/03/06 Python
浅谈Python 的枚举 Enum
2017/06/12 Python
Python PyQt5标准对话框用法示例
2017/08/23 Python
Appium+Python自动化测试之运行App程序示例
2019/01/23 Python
pytorch中的weight-initilzation用法
2020/06/24 Python
python 读取串口数据的示例
2020/11/09 Python
pytorch中index_select()的用法详解
2021/01/06 Python
MAC Cosmetics官方网站:魅可专业艺术彩妆
2019/04/10 全球购物
《长征》教学反思
2014/04/27 职场文书
学校食堂食品安全责任书
2014/07/28 职场文书
2015年度电厂个人工作总结
2015/05/13 职场文书
企业安全隐患排查治理制度
2015/08/05 职场文书
基于Python的EasyGUI学习实践
2021/05/07 Python
深入讲解Vue中父子组件通信与事件触发
2022/03/22 Vue.js
PC版《死亡搁浅导剪版》现已发售 展开全新的探险
2022/04/03 其他游戏
详解Flutter网络请求Dio库的使用及封装
2022/04/14 Java/Android