首先下载eaccelerator最新版
wget http://sourceforge.net/projects/eaccelerator/files/eaccelerator/eAccelerator%200.9.6.1/eaccelerator-0.9.6.1.tar.bz2
网上的教程说要有/usr/local/php/bin/phpize,但是我的vps上的php是apt-get的没有怎么办?
搜索得知要安装php5-dev才会有phpize,还要安装autoconf,automake
apt-get install php5-dev autoconf automake
安装到最后提示了
update-alternatives: using /usr/bin/php-config5 to provide /usr/bin/php-config (php-config) in auto mode. update-alternatives: using /usr/bin/phpize5 to provide /usr/bin/phpize (phpize) in auto mode.
既然给了上面的提示,就用带5的
准备工作差不多了开始安装
tar jxvf eaccelerator-0.9.6.1.tar.bz2 cd eaccelerator-0.9.6.1 /usr/bin/phpize5 ./configure --enable-eaccelerator=shared --with-php-config=/usr/bin/php-config5 make make install
提示说 Installing shared extensions: /usr/lib/php5/20090626+lfs/
这样创建缓存目录
mkdir /tmp/eaccelerator chmod 777 /tmp/eaccelerator
这时编辑/etc/php5/fpm/php.ini在最后加入如下代码
配置项更具体准确的含义来自:https://eaccelerator.net/wiki/Settings
vim /etc/php5/fpm/php.ini
[eaccelerator] zend_extension="/usr/lib/php5/20090626+lfs/eaccelerator.so" eaccelerator.shm_size="32" 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="300" eaccelerator.shm_prune_period="120" eaccelerator.shm_only="0" eaccelerator.compress="1" eaccelerator.compress_level="9"
重启下php5-fpm
/etc/init.d/php5-fpm restart
如何检测呢,搞一个phpinfo();
这时进到/tmp/eaccelerator会发现有不少的目录
收获:
有空的话还是要不怕麻烦编译安装,这样对程序会更熟悉
不要从不靠谱的网上直接复制配置文件,复制过来的双引号全是中文的
续:
按wiki里面说的我查看了下最大共享大小
cat /proc/sys/kernel/shmmax
得到33554432
用expr除了两次:
expr 33554432 \/ 1024 32768 expr 32768 \/ 1024 32
而这样按配置设置64,php5-fpm就不能重启成功
比如想弄成64,则
echo 67108864 > /proc/sys/kernel/shmmax
效果如何?
不会测试,网上人说的是ea的作用就是让缓存里php文件不需要再次编译,这一点我觉得有可能吧
Leave a Reply