配置eAccelerator和XCache扩展来加速PHP程序的执行

 2025-01-15  阅读 382  评论 8  点赞 461

摘要:eaccelerator安装配置php加速 eaccelerator简介 eaccelerator是一个的免费、开源的php模块,它能够为提供php加速、优化、加码、和动态内容缓存功能。它通过存储php脚本编译后的状态而加快执行php脚本的速度,而不需要频繁的编译这个php脚本。而且它能优化php脚本,以提高执行

eaccelerator安装配置php加速
eaccelerator简介
eaccelerator是一个的免费、开源的php模块,它能够为提供php加速、优化、加码、和动态内容缓存功能。它通过存储php脚本编译后的状态而加快执行php脚本的速度,而不需要频繁的编译这个php脚本。而且它能优化php脚本,以提高执行php的速度。eaccelerator特色是减少了服务器负载、使php脚本加速1-10倍。
下载地址:http://sourceforge.net/projects/eaccelerator/
解压修改源代码(解决出现open_basedir等报错)


# tar jxvf eaccelerator-0.9.6.tar.bz2
# cd eaccelerator-0.9.6/
# vi eaccelerator.c

找到以下:


if (pg(open_basedir) && php_check_open_basedir(realname tsrmls_cc)) {

改为


if (pg(open_basedir) && php_check_open_basedir(file_handle->filename tsrmls_cc)) {

编译安装扩展eaccelerator

配置eAccelerator和XCache扩展来加速PHP程序的执行

# /usr/local/php-5.2.14/bin/phpize # 对应你自己的phpize,一定要在eaccelerator-0.9.6目录执行
# ./configure
–enable-eaccelerator \
–with-php-config=/usr/local/php-5.2.14/bin/php-config
# make
# make install # 会提示你扩展装到了哪个目录,我这边是/usr/local/php-5.2.14/lib/php/extensions/no-debug-non-zts-20060613/

配置php.ini
如果本机之前有加过扩展,直接跳到下一步“添加eacclerator扩展”


vi /usr/local/php-5.2.14/etc/php.ini


extension_dir = ./

替换成


extension_dir=/usr/local/php-5.2.14/lib/php/extensions/no-debug-non-zts-20060613/

添加eacclerator扩展


# vi /usr/local/php-5.2.14/etc/php.ini

 增加如下内容


 [eaccelerator]
 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_max=”0″
 eaccelerator.shm_ttl=”0″
 eaccelerator.shm_prune_period=”0″
 eaccelerator.shm_only=”0″
 eaccelerator.compress=”1″
 eaccelerator.compress_level=”9″

创建eaccelerator目录


# mkdir /tmp /eaccelerator
# chmod 777 /tmp/eaccelerator

重启测试
重启apache或者nginx,并且查看效果,如果/tmp/eaccelerator下有目录,说明安装成功了。
配置参数详解(eaccelerator)


eaccelerator.shm_size=”8″


eaccelerator.cache_dir=”/tmp/eaccelerator ”

这个目录是给磁盘缓存使用. eaccelerator 在这里储存预先编译好的代码, 进程数据, 内容以及用户的自定义内容. 同样的数据也能被储存在共享内存中 (这样可以提高访问速度). 默认的设置是 “/tmp/eaccelerator”.


eaccelerator.enable=”1″

开启或关闭 eaccelerator。“1” 为开启,“0” 为关闭。默认值为 “1”。


eaccelerator.optimizer=”1″

启或关闭内部优化器,可以提升代码执行速度。“1” 为开启,“0” 为关闭。默认值为 “1”。


eaccelerator.check_mtime=”1″

打开或者关闭 php 的文件修改检查. “1” 是指打开, “0” 是指关闭. 如果您在修改以后重新编译 php 的文件,那么您应当设置为 “1”. 默认值是 “1”.


eaccelerator.debug=”0″

开启或关闭调试日志记录。“1” 为开启,“0” 为关闭。默认值为 “0”。会将缓存命中得记录写入日志。


eaccelerator.filter=””

判断哪些 php 文件必须缓存。您可以指定缓存和不缓存的文件类型(如 “*.php *.phtml”等),如果参数以 “!” 开头,则匹配这些参数的文件被忽略缓存。默认值为 “”,即,所有 php 文件都将被缓存。


eaccelerator.shm_max=”0″

当使用 ” eaccelerator_put() ” 函数时禁止其向共享内存中存储过大的文件。该参数指定允许存储的最大值,单位:字节 (10240, 10k, 1m)。“0” 为不限制。默认值为 “0”。


eaccelerator.shm_ttl=”0″

当eaccelerator 获取新脚本的共享内存大小失败时,它将从共享内存中删除所有在最后 “shm_ttl” 秒内没有存取的脚本缓存。默认值为 “0”,即:不从共享内春中删除任何缓存文件。


eaccelerator.shm_prune_period=”0″

当eaccelerator 获取新脚本的共享内存大小失败时,他将试图从共享内存中删除早于“shm_prune_period” 秒的缓存脚本。默认值为 “0”,即:不从共享内春中删除任何缓存文件。


eaccelerator.shm_only=”0″

允许或禁止将已编译脚本缓存在磁盘上。该选项对 session 数据和内容缓存无效。默认值为 “0”,即:使用磁盘和共享内存进行缓存。


eaccelerator.compress=”1″

允许或禁止压缩内容缓存。默认值为 “1”,即:允许压缩。


eaccelerator.compress_level=”9″

指定内容缓存的压缩等级。默认值为 “9”,为最高等级。


eaccelerator.keys = “disk_only”
eaccelerator.session = “disk_only”
eaccelerator.content = “disk_only”

设置内容缓存的存放的地方,可以设置为:

  • shm_and_disk 在共享缓存和硬盘(默认值)
  • shm 默认存在共享内存,如果共享内存已满或大小超过 “eaccelerator.shm_max” 的值,就存到硬盘
  • shm_only 只存放在共享内存
  • disk_only 只存放在硬盘
  • none 不缓存数据

php扩展xcache安装
xcache模块可以缓存php运行时编译生成的opcode可以加速php程序的效率,安装xcache和安装memcache方法类似,都是以扩展的方式安装,php任何扩展方法基本上都是如下,所以不需要特意去找xxx扩展的文档.
安装php扩展xcache


# wget http://xcache.lighttpd.net/pub/releases/3.2.0/xcache-3.2.0.tar.gz
# tar -xvf xcache-3.2.0.tar.gz
# cd xcache-3.2.0
# ./configure –with-php-config=/usr/local/php/bin/php-config –enable-xcache
# make && make install

会生成类似如下信息


installing shared extensions:  /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/

所有的模块都会生成到这个目录下
编辑php配置文件


# vim /usr/local/php/etc/php.ini
extension = /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/xcache.so

重载php


# service php-fpm reload

如果是你apache+php模式,那么重启apache即可.


# service httpd restart

或者


# /usr/local/apache-2.2.27/bin/apachectl restart

测试结果



标签:phpphp教程

评论列表:

显示更多评论

发表评论:

管理员

承接各种程序开发,外贸网站代运营,外贸网站建设等项目
  • 内容2460
  • 积分67666
  • 金币86666

Copyright © 2024 LS'Blog-保定PHP程序员老宋个人博客 Inc. 保留所有权利。 Powered by LS'blog 3.0.3

页面耗时0.0275秒, 内存占用1.96 MB, 访问数据库30次

冀ICP备19034377号