1. PHP加速器的概念
PHP加速器是一个为了提高PHP执行效率,从而缓存起PHP的操作码,这样PHP后面执行就不用解析转换了,可以直接调用PHP操作码,这样速度上就提高了不少。
Apache中使用mod_php的请求、响应执行流程:
1、Apache接收请求。
2、Apache传递请求给mod_php。
3、mod_php定位磁盘文件,并加载到内存中。
4、mod_php编译源代码成为opcode树。
5、mod_php执行opcode树。
PHP加速器相应的就是第四步,它的目的就是防止PHP每次请求都重复编译PHP代码,因为在高访问量的网站上,大量的编译往往没有执行速度快。所以这里面有个瓶颈就是PHP的重复编译既影响了速度又加载了服务器负载,为了解决此问题,PHP加速器就这样诞生了。
2. eAccelerator加速器
eAccelerator是一个自由开放源码php加速器,优化和动态内容缓存,提高了性能php脚本的缓存性能,使得PHP脚本在编译的状态下,对服务器的开销几乎完全消除。 它还有对脚本起优化作用,以加快其执行效率。使您的PHP程序代码执效率能提高1-10倍。
安装:
从官网下载源代码,现在最新代码是0.9.6. http://eaccelerator.net/wiki/Release-0.9.6
$ phpize $ sudo ./configure --enable-eaccelerator=shared $ sudo make $ sudo make install
接下来修改php.ini文件
sudo vi /etc/cgi/php.ini
在文档上加上:
zend_extension="/usr/lib/php5/20060613+lfs/eaccelerator.so" eaccelerator.shm_size="16" eaccelerator.cache_dir="/var/cache/eaccelerator" 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.allowed_admin_path="/var/www/nginx-default/control.php"
最后一行的eaccelerator.allowed_admin_path的意思是eAccelerator的在线控制文件的实际路径,这样一来就可以使用http://你的网址/control.php来控制eAccelerator了。
下面再建立cache目录:
sudo mkdir /var/cache/eaccelerator sudo chown root:www-data /var/cache/eaccelerator sudo chmod u=rwx,g=rwx,o= /var/cache/eaccelerator
然后copy eAccelerator源码中的control.php到web根目录下。这样就可以通过浏览器来浏览控制了,如访问http://localhost/control.php
如果需要control访问权限控制,修改control.php文件,修改$user和$pw的内容。
最后重启nginx
sudo /etc/init.d/nginx restart
现在就安装完成了。
写个测试文件,输出phpinfo,可以看到如下内容:
This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies
with eAccelerator v0.9.6-rc1, Copyright (c) 2004-2007 eAccelerator, by eAccelerator
3. Zend Optimizer
Zend Optimizer 是一个免费软件,它的主要功能是加速PHP脚本文件的运行。用Zend Encode编译好的二进制代码可以被Zend Optimizer透明读取,客户只要在他的服务器上安装Zend Optimizer就可以执行由Zend Encode编译好的PHP程序。编译程序中包含有Zend Optimizer的部分代码,所以编译过程中对程序代码进一步作了优化处理,这即意味着脚本的执行效率提高了。一般情况下,执行使用Zend Optimizer的PHP程序比不使用的要快40%到100%。并且降低了程序对系统资源的耗用。
安装:
首先去官方文章下载:http://www.zend.com/products/guard/downloads
下载后,解压缩后,文件夹下有个data目录,然后根据自己的php的版本选择合适的ZendOptimizer.so
然后把这个so加载到php.ini中。
zend_optimizer.optimization_level=15 zend_extension="/usr/lib/php5/ZendOptimizer.so"
nginx重启
sudo /etc/init.d/nginx restart
检查安装是否成功,写一个脚本并运行它,输出phpinfo().
如果在出现:
with Zend Optimizer v3.3.9, Copyright (c) 1998-2009, by Zend Technologies
就安装成功了。
Post a Comment