前面发过一个APC Shell Script For PHP-CGI,经过Zeraba的指导,使用apc.php看了下APC的命中率,发现无论怎样,命中数只有“1”,明显APC并没有发挥它应有的用途。同时也发现,不管是什么opcode的PHP组件,都是只能在探针那看个版本……
既然PHP-CGI有问题,那就换PHP-CLI,但是DirectAdmin的PHP-CLI模式也有问题,那就是无法以特定身份去创建执行PHP程序,这就使得用户的网站某些目录需要设置rwxrwxrwx,非常麻烦,而且也不安全。
要解决DirectAdmin的PHP-CLI的问题,大家可以参考:实现DirectAdmin使用PHP-CLI模式的站点独立用户与查看各用户资源占用情况
要给PHP-CLI添加APC,其实和前面CGI的那个方法差不多,只是一些二进制文件的目录有所改变。
这里是使用添加APC的Shell Script的方法:
1 |
wget http://soft.yzs.me/apc-cli.sh;sh apc-cli.sh |
注意:
如果你添加APC后无法访问PHP文件,并且在Apache的错误日志(/var/log/httpd/error_log)里面找到如下错误信息:
1 |
[error] child died with signal 11 |
这很明显你在使用PHP5.2.17,因为PHP5.2,Zend Optimizer与APC不能共存。因此需要你手动修改php.ini,把加载Zend Optimizer的那行注释掉:
1 |
vim /usr/local/lib/php.ini |
如图,在zend_extension=/usr/local/lib/ZendOptimizer_5.2.so这行前面加个英文的”;”,然后重启apache就行了。
如果顺利完成上面几个步骤,访问几个PHP文件,再使用apc.php看看命中率,如果Hits数目那有变化,那证明APC正常了:
Comments are closed.