首先下载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();
有eAccelerator 这一节的描述
这时进到/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文件不需要再次编译,这一点我觉得有可能吧