|
大家知道目前PHP的缓存插件一般有三个:APC、eAccelerator、XCache,但未来它们可能都会消失,因为PHP 5.5已经集成Zend Opcache,功能和前三者相似但又有少许不同,缓存速度据说比它们更快(注意:只是据说,我没测试过)。
这几个PHP加速插件的主要原理都相同,就是把PHP执行后的数据缓冲到内存中从而避免重复的编译过程,能够直接使用缓冲区已编译的代码从而提高速度,降低服务器负载,它们的效率是显而易见的,像drupal这种庞大的CMS,每次打开一个页面要调用数十个PHP文件,执行数万行代码,效率可想而知,在安装APC等加速器后打开页面的速度明显加快。
Zend Opcache 已经集成在了PHP 5.5里面,编译安装PHP5.5的时候加上--enable-opcache就行了。但也支持低版本的PHP 5.2.*, 5.3.*, 5.4.*,未来会取消对5.2的支持。
下面是我在PHP 5.5下的安装方法:
./configure --enable-opcache
自己添加其他的参数。如果在vps或者小内存的云服务器,添加--disable-fileinfo参数。
make && make install
编辑php.ini文件,具体php载入php.ini文件的路径可以通过
[root@local-lamp2 html]# /opt/php/bin/php -i|grep php.ini
Configuration File (php.ini) Path => /opt/php/lib
[root@local-lamp2 html]# vim /opt/php/lib/php.ini
[opcache]
zend_extension= "/opt/php/lib/php/extensions/no-debug-non-zts-20121212/opcache.so"
opcache.memory_consumption=128 //共享内存大小, 这个根据你们的需求可调
opcache.interned_strings_buffer=8 //interned string的内存大小, 也可调
opcache.max_accelerated_files=4000 //最大缓存的文件数目
opcache.revalidate_freq=60 //60s检查一次文件更新
opcache.fast_shutdown=1 //打开快速关闭, 打开这个在PHP Request Shutdown的时候 会收内存的速度会提高
opcache.enable_cli=1128意思是给它分配128M内存.
红色部分是需要添加的具体参考php安装目录下的lib/php/extensions
添加后重启php
在通过
[root@local-lamp2 html]# /opt/php/bin/php -i
可以查看到
Zend OPcache
Opcode Caching => Up and Running
Optimization => Enabled
Startup => OK
Shared memory model => mmap
Cache hits => 0
Cache misses => 0
Used memory => 10707912
Free memory => 22846520
Wasted memory => 0
Cached scripts => 0
Cached keys => 0
Max keys => 3907
OOM restarts => 0
Hash keys restarts => 0
Manual restarts => 0
Directive => Local Value => Master Value
opcache.blacklist_filename => no value => no value
opcache.consistency_checks => 0 => 0
opcache.dups_fix => Off => Off
opcache.enable => On => On
opcache.enable_cli => On => On
opcache.enable_file_override => Off => Off
opcache.error_log => no value => no value
opcache.fast_shutdown => 1 => 1
opcache.force_restart_timeout => 60 => 60
opcache.inherited_hack => On => On
opcache.interned_strings_buffer => 8 => 8
opcache.load_comments => 1 => 1
opcache.log_verbosity_level => 1 => 1
opcache.max_accelerated_files => 2000 => 2000
opcache.max_file_size => 0 => 0
opcache.max_wasted_percentage => 5 => 5
opcache.memory_consumption => 32 => 32
opcache.optimization_level => 0xFFFFFFFF => 0xFFFFFFFF
opcache.preferred_memory_model => no value => no value
opcache.protect_memory => 0 => 0
opcache.restrict_api => no value => no value
opcache.revalidate_freq => 60 => 60
opcache.revalidate_path => Off => Off
opcache.save_comments => 1 => 1
opcache.use_cwd => On => On
opcache.validate_timestamps => On => On
至此zend opcache 安装完毕
Cache hits => 0
Cache misses => 0
测试
|
|
|