Opcache
参考文档:
https://www.douban.com/group/topic/58368149
http://blog.csdn.net/why_2012_gogo/article/details/51134674
php5.5的版本,系统自带opcache的,不需要重新安装。
Opcache是一种通过将解析的PHP脚本预编译的字节码存放在共享内存中来避免每次加载和解析PHP脚本的开销,解析器可以直接从共享内存读取已经缓存的字节码,从而大大提高PHP的执行效率。
一、Opcache的配置
1.在php.ini中添加如下代码:
[opcache]
zend_extension = “D:\programTools\wamp\bin\php\php5.5.12\ext\php_opcache.dll”
;启动操作码缓存
opcache.enable=1
; 针对支持CLI版本PHP启动操作码缓存 一般被用来测试和调试
opcache.enable_cli=1
; 共享内存大小,单位为MB
opcache.memory_consumption=1024
;控制优化级别的二进制位掩码。
opcache.optimization_level=1
;存储临时字符串缓存大小,单位为MB
opcache.interned_strings_buffer=8
;缓存文件数最大限制,命中率不到100%,可以试着提高这个值
opcache.max_accelerated_files=4096
; 一定时间内检查文件的修改时间, 这里设置检查的时间周期, 默认为 2, 单位为秒
opcache.revalidate_freq=60
; 开启快速停止续发事件,依赖于Zend引擎的内存管理模块,一次释放全部请求变量的内存,而不是依次释放内存块
opcache.fast_shutdown=1
配置指令说明查询地址:http://www.php.net/manual/zh/opcache.configuration.php
2.重启Apache
3.查看phpinfo,是否显示Zend OPcache扩展
二、Opcache的使用
常用函数
1、opcache_get_configuration;
形式:array opcache_get_configuration(void);
获取设置的缓存配置信息,以数组形式返回配置信息、黑名单及版本号。
2、opcache_get_status;
形式:array opcache_get_status(void);
获取设置的缓存状态信息。
3、opcache_invalidate;
形式:boolean opcache_invalidate (string);
该函数的作用是使得指定脚本的字节码缓存失效。如果force 没有设置或者传入的是 FALSE,那么只有当脚本的修改时间 比对应字节码的时间更新,脚本的缓存才会失效。
4、opcache_reset;
形式:boolean opcache_reset(void);
该函数将重置整个字节码缓存。在调用 opcache_reset() 之后,所有的脚本将会重新载入并且在下次被点击的时候重新解析。
5、opcache_compile_file;
形式:boolean opcache_compile_file (string);
无需运行,就可以编译并缓存脚本。
6、opcache_is_script_cached
形式:boolean opcache_is_script_cached (string);
判断某个脚本是否已经缓存到Opcache。
三、图形化显示
下载Github上开源的项目:https://github.com/rlerdorf/opcache-status ,将下载下来的项目文件(data-sample.php和opcache.php)放入到当前的Web服务器根目录下,直接访问**/opcache.php即可。