PHP OPcache缓存预编译的字节码。这比使用PHP为每个HTTP请求加载和解析每个脚本要快得多。该缓存必须足够大以存储应用程序的PHP脚本的已编译代码,但又不能太大,以免使您无法将可用的RAM用于其他操作。
zend_extension=opcache.so
opcache.enable=1 //启用opcache
opcache.enable_cli=1 //针对支持CLI版本PHP启动操作码缓存 一般被用来测试和调试
opcache.memory_consumption=128 //共享内存大小, 这个根据你们的需求可调
opcache.interned_strings_buffer=8 //interned string的内存大小, 也可调
opcache.max_accelerated_files=4000 //最大缓存的文件数目
opcache.validate_timestamps=1 //启用时间戳验证,配置opcache.revalidate_freq使用。设置0禁用,则必须手动重置OPcache或重新启动才能清除过期缓存
opcache.revalidate_freq=60 //60s检查一次文件更新
opcache.fast_shutdown=1 //打开快速关闭, 打开这个在PHP Request Shutdown的时候,会收内存的速度会提高
opcache.save_comments=0 //不保存文件/函数的注释
1.php文件发生改变,opcache没有失效,新内容请求不到
原因:opcache.validate_timestamps值为0,必须手动清理缓存,适合在生产环境中
下面的配置才会自动检测文件是否改变,如果改变opcache才会失效
opcache.validate_timestamps=1
opcache.revalidate_freq=0
2.手动清理缓存
4.使用cachetools来清理缓存
https://github.com/gordalina/cachetool
1.本地开发建议关闭opcache,或者配置opcache.validate_timestamps=1和opcache.validate_timestamps=1
2.测试环境可以配置opcache.validate_timestamps=1和opcache.validate_timestamps=1
3.生产环境,根据发布方式而定: