Opcache缓存预编译的字节码。这比使用PHP为每个HTTP请求加载和解析每个脚本要快得多。缓存必须足够大,以存储应用程序的PHP脚本的编译代码,但不能太大,以至于阻止您将可用的内存用于其他操作。
配置参数说明
常见问题:
1.PHP文件已更改,opcache没有失败,无法请求新内容。
原因:Opcache。validate _ stamps的值为0,必须手动清理缓存,这适用于生产环境。
以下配置将自动检测文件是否被更改,如果opcache被更改,该配置将无效。
2.手动清理缓存
重启php-fpm的进程
opcache_reset()和opcache_invalidate()
使用命令opcache_reset() opcache没有失效
当PHP以PHP-FPM的方式运行的时候,opcache的缓存是无法通过php命令进行清除的,只能通过http或cgi到php-fpm进程的方式来清除缓存。
4.使用cachetools来清理缓存
http://github.com/gordalina/cachetool
结论:
1.本地开发建议关闭opcache,或者配置opcache.validate_timestamps=1和opcache.validate_timestamps=1
2.测试环境可以配置opcache.validate_timestamps=1和opcache.validate_timestamps=1
3.生产环境,根据发布方式而定:
3.1 切换软链接
opcache.validate_timestamps=1和opcache.validate_timestamps=1
3.2 文件覆盖
重启php-fpm
3.3 提供清理的脚步,发布后清理
3.4 提供清理某个文件的opcache http接口,限制访问