php5.5+ 自带了opcache 编译的时候指定–enable-opcache 然后vi php.ini 允许opcache.enable_cli=1
本来以为这样就可以了 好把 too young 这个参数只是给你编译了一个opache.so 自己还得加载一下这个so文件
1 2 3 4 5 6 7 8 9 |
zend_extension='opcache.so' opcache.enable_cli=1 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.save_comments=0 //不保存文件/函数的注释 |
重启php-fpm opcache就可以工作了 它会把你的php编译之后的代码
缓存 查看phpinfo 你会发现有个cache hits cache misses
有时候我们可能需要不缓存某些文件
opcache.blacklist_filename(默认值:无)
Zend Optimizer + 黑名单文件的位置.
Zend Optimizer + 黑名单是一个文本文件包含了那些不能被加速的文件名.文件格式为每行一个文件名.
文件名须为一个完整的路径或者紧紧一个文件前缀
(如:/var/www/x 屏蔽了 /var/www 文件和目录中所有以 ‘x’ 开始的文件或者目录). 需要屏蔽的文件通常符合下面三个原因中的一个:
1. 目录包含了自动生成的代码, 如 Smarty 或者 ZFW 的缓存.
2. 执行加速时代码无法很好的运行, 从而耽误了编译时评估.
3. 代码触发了一个 Zend Optimizer + 的 Bug
更多详细参数看下面第一个链接
* http://www.onepx.com/update-php-5-5-opcache.html
* http://www.laruence.com/2013/11/11/2928.html