继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

安装PHP扩展eaccelerator加速器

android开发学习视频
关注TA
已关注
手记 304
粉丝 52
获赞 322

软件下载地址:

http://pan.baidu.com/share/link?shareid=1812137103&uk=1210957557

注:系统已经搭建好了LAMP,上一片博客有详细文档


[root@CentOS5samba]#tar zxvf eaccelerator-eaccelerator-42067ac.tar.gz -C /usr/local/src/

[root@CentOS5samba]#cd /usr/local/src/eaccelerator-eaccelerator-42067ac/

[root@CentOS5eaccelerator-eaccelerator-42067ac]#/usr/local/php/bin/phpize

[root@CentOS5eaccelerator-eaccelerator-42067ac]#./configure --enable-eaccelerator=shared --with-php-config=/usr/local/php/bin/php-config

[root@CentOS5eaccelerator-eaccelerator-42067ac]#make && make install

make install完成后会出现eaccelerator.so路径,拷贝这个绝对路径,下面还需要用


打开php.ini文件,在该文件的最后添加如下:

[root@CentOS5eaccelerator-eaccelerator-42067ac]#vi /usr/local/php/etc/php.ini

zend_extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/eaccelerator.so"

eaccelerator.shm_size="16"

eaccelerator.cache_dir="/data/cache/eaccelerator"

eaccelerator.allowed_admin_path=/usr/local/apache2/htdocs/

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.so的绝对路径

zend_extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/eaccelerator.so"


#设置缓存大小

eaccelerator.shm_size="16"


#缓存目录

eaccelerator.cache_dir="/data/cache/eaccelerator"


#网站目录

eaccelerator.allowed_admin_path=/usr/local/apache2/htdocs/


#启用或禁用eaccelerator,1为开启,0为禁用

eaccelerator.enable="1"


#开启或关闭优化,1为开启,0为关闭

eaccelerator.optimizer="1"


#在每次命中的时候Eaccelerator都会检查脚本的修改时间来判断是不是脚本发生的变化来决定是否需要重新编译,1为启用,0为禁用

eaccelerator.check_mtime="1"


#开启关闭debug日志。如果设置为1,将打印很多文件命中的信息到日志中

eaccelerator.debug="0"


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

eaccelerator.filter=""


#设置内存缓存可以缓存文件的最大值

eaccelerator.shm_max="0"


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

eaccelerator.shm_ttl="0"


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

eaccelerator.shm_prune_period="0"


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

eaccelerator.shm_only="0"


#当使用eaccelerator_content_* 的api时,eA可以在缓存前对内容进行压缩。默认值为1表示启用,0为禁用

eaccelerator.compress="1"


#内容缓存的压缩等级。默认值为9(最大压缩级别)

eaccelerator.compress_level="9"


建立缓存目录并赋予权限

[root@CentOS5eaccelerator-eaccelerator-42067ac]#mkdir -p /data/cache/eaccelerator

[root@CentOS5eaccelerator-eaccelerator-42067ac]#chmod 777 /data/cache/eaccelerator


拷贝control.php文件到网站目录下并重启apache

[root@CentOS5eaccelerator-eaccelerator-42067ac]#cp control.php /usr/local/apache2/htdocs/

[root@CentOS5eaccelerator-eaccelerator-42067ac]#/usr/local/apache2/bin/apachectl restart


访问http://IP/control.php

默认用户名:admin

默认密码:eAccelerator

登录名和密码可在control.php文件里进行修改

安装eaccelerator过程中出现的几个错误及解决方案

1、[root@CentOS5 eaccelerator-0.9.5.3]# make && make install

/bin/sh/usr/local/src/eaccelerator-0.9.5.3/libtool --mode=compile cc  -I. -I/usr/local/src/eaccelerator-0.9.5.3-DPHP_ATOM_INC -I/usr/local/src/eaccelerator-0.9.5.3/include -I/usr/local/src/eaccelerator-0.9.5.3/main-I/usr/local/src/eaccelerator-0.9.5.3 -I/usr/local/php/include/php-I/usr/local/php/include/php/main -I/usr/local/php/include/php/TSRM-I/usr/local/php/include/php/Zend -I/usr/local/php/include/php/ext-I/usr/local/php/include/php/ext/date/lib -DHAVE_CONFIG_H  -g -O2   -c/usr/local/src/eaccelerator-0.9.5.3/eaccelerator.c -o eaccelerator.lo

cc-I. -I/usr/local/src/eaccelerator-0.9.5.3 -DPHP_ATOM_INC-I/usr/local/src/eaccelerator-0.9.5.3/include -I/usr/local/src/eaccelerator-0.9.5.3/main-I/usr/local/src/eaccelerator-0.9.5.3 -I/usr/local/php/include/php-I/usr/local/php/include/php/main -I/usr/local/php/include/php/TSRM-I/usr/local/php/include/php/Zend -I/usr/local/php/include/php/ext-I/usr/local/php/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c/usr/local/src/eaccelerator-0.9.5.3/eaccelerator.c  -fPIC -DPIC -o .libs/eaccelerator.o

/usr/local/src/eaccelerator-0.9.5.3/eaccelerator.c:In function ‘eaccelerator_restore’:

/usr/local/src/eaccelerator-0.9.5.3/eaccelerator.c:936:警告:赋值丢弃了指针目标类型的限定

/usr/local/src/eaccelerator-0.9.5.3/eaccelerator.c:In function ‘eaccelerator_compile_file’:

/usr/local/src/eaccelerator-0.9.5.3/eaccelerator.c:1272:警告:传递实参 1(属于‘eaccelerator_ok_to_cache’)丢弃了指针目标类型的限定

/usr/local/src/eaccelerator-0.9.5.3/eaccelerator.c:1416:错误:‘znode_op’没有名为‘op_type’的成员

/usr/local/src/eaccelerator-0.9.5.3/eaccelerator.c:1417:错误:‘znode_op’没有名为‘u’的成员

/usr/local/src/eaccelerator-0.9.5.3/eaccelerator.c:1418:错误:‘znode_op’没有名为‘u’的成员

/usr/local/src/eaccelerator-0.9.5.3/eaccelerator.c:1419:错误:‘znode_op’没有名为‘u’的成员

/usr/local/src/eaccelerator-0.9.5.3/eaccelerator.c:1420:错误:‘znode_op’没有名为‘op_type’的成员

/usr/local/src/eaccelerator-0.9.5.3/eaccelerator.c:1421:错误:‘znode_op’没有名为‘u’的成员

/usr/local/src/eaccelerator-0.9.5.3/eaccelerator.c:1433:错误:‘znode_op’没有名为‘u’的成员

/usr/local/src/eaccelerator-0.9.5.3/eaccelerator.c:1434:错误:‘znode_op’没有名为‘u’的成员

/usr/local/src/eaccelerator-0.9.5.3/eaccelerator.c:1508:错误:‘zend_class_entry’没有名为‘line_start’的成员

/usr/local/src/eaccelerator-0.9.5.3/eaccelerator.c:在顶层:

/usr/local/src/eaccelerator-0.9.5.3/eaccelerator.c:2223:错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘eaccelerator_functions’

/usr/local/src/eaccelerator-0.9.5.3/eaccelerator.c:2286:错误:‘eaccelerator_functions’未声明 (不在函数内)

make: *** [eaccelerator.lo] 错误 1


解决方案:PHP5.4不支持这个版本的eaccelerator.,重新下载一个应该就可以了


2、访问control.php页面出错“eAcceleratorisn't installed or isn't compiled with info support!”


解决方案:vi /usr/local/php/etc/php.ini

extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/eaccelerator.so"

改为:

zend_extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/eaccelerator.so"


3、进入页面后,点击Script Cache按钮出现错误

解决方案:vi /usr/local/php/etc/php.ini

加入:eaccelerator.allowed_admin_path=/usr/local/apache2/htdocs/


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP