Think before you speak, read before you think.

安装php5扩展模块eaccelerator

首先下载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文件不需要再次编译,这一点我觉得有可能吧


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *