发布时间: 2015-10-7
浏览次数:2880
分类: PHP教程
Zend OPcache简介: Zend OPcache 通过将 PHP 脚本预编译的字节码存储到共享内存中来提升 PHP 的性能, 存储预编译字节码的好处就是 省去了每次加载和解析 PHP 脚本的开销。 在 PHP 5.5、5.6 版本中 OpCache 已内建,编译安装时使用 --enable-opcache 即可。如下检查是否已经安装OPcache:
- php -m | grep "Zend OPcache"
如果尚未安装,可按照如下Zend OPCache手动安装:
- #如果源码不在了,可下载https://github.com/zendtech/ZendOptimizerPlus/archive/master.zip
- cd /usr/src/php-5.6.9/ext/opcache
- /usr/local/php5.6/bin/phpize
- ./configure --with-php-config=/usr/local/php5.6/bin/php-config
- make && make install
php.ini中添加推荐Zend OPCache配置(具体配置说明见底部参考):
- zend_extension=/usr/local/php5.6/lib/php/extensions/no-debug-non-zts-20131226/opcache.so
-
- opcache.enable=1
- opcache.memory_consumption=128
- opcache.interned_strings_buffer=8
- opcache.max_accelerated_files=4000
- opcache.revalidate_freq=60
- opcache.fast_shutdown=1
- opcache.enable_cli=1
重启php-fpm:
- service php-fpm restart
通过phpinfo()函数查看Zend OPCache运行状态:
推荐OPCache图形化效果工具:
使用OPcache注意事项: 当改变PHP文件代码后,并不能立即看到效果,这视opcache.revalidate_freq的更新周期而定,所以建议在项目更新执行自动化脚本利用opcache_reset()函数自动重置opcache。OPcache总共提供了如下几个函数:
- opcache_compile_file — 无需运行,即可编译并缓存 PHP 脚本
- opcache_get_configuration — 获取缓存的配置信息
- opcache_get_status — 获取缓存的状态信息
- opcache_invalidate — 废除脚本缓存
- opcache_reset — 重置字节码缓存的内容
参考:
|