PHP的web服务器执行原理:
首先,php的web服务器收到HTTP请求后,会用php解析器将php代码解析成操作码,然后在执行,在要求很低或者或者可以忽略的情况下,可以将这个复杂的执行过程忽略不计.但是在php页面大量增加的情况下,会大大的消耗php服务器的性能.因为php代码解析过程所占用的时间比执行操作码的时间大很多很多.
为了节省php的web服务器性能,技术大牛们开发了一些很好的操作码缓存器.用来缓存那些别已经解析出来的操作码.目的是不需要进行二次解析.像这样的缓存器有:xcache, Alternative PHP Cache (APC),eAccelerator,本文章以xcache为例.
1、安装
tar xf xcache-2.0.0.tar.gz
cd xcache-2.0.0
/usr/local/php/bin/phpize
./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config
make && make install
安装结束时,会出现类似如下行:
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-zts-20100525/
2、编辑php.ini,整合php和xcache:
首先将xcache提供的样例配置导入php.ini
mkdir /etc/php.d
cp xcache.ini /etc/php.d
说明:xcache.ini文件在xcache的源码目录中。
接下来编辑/etc/php.d/xcache.ini,找到zend_extension开头的行,修改为如下行:
zend_extension = /usr/local/php/lib/php/extensions/no-debug-zts-20100525/xcache.so
注意:如果php.ini文件中有多条zend_extension指令行,要确保此新增的行排在第一位。
3、重新启动php-fpm
service php-fpm restart