我已经在新的托管(虚拟云)上设置了我的网站,但是我正在查看opcache,并且scripts
没有用于说a minutes or so
从缓存中删除。
那么有办法阻止它吗?或者这是正常行为吗?
非常感谢。
答案 0 :(得分:2)
实际上有配置。
opcache.revalidate_freq=2
,默认值为2秒,opcache将尝试每2秒检查一次时间戳,如果文件被更改,则会重新验证。
您可以更改该值以满足您的需求,或者您可以使用此conf opcache.validate_timestamps=0
来关闭时间戳检查,但在这种情况下,每次将代码部署到生产时,您必须重新启动php-fpm(如果您正在使用php-fpm)和网络服务器
opcache.revalidate_freq=2
或任何整数值
opcache.validate_timestamps=1
或opcache.validate_timestamps=0
答案 1 :(得分:0)
听起来你需要在php.ini中定义validate_timestamps=0
。但请注意这一点 - 如果您上传任何更改到您的PHP文件,您将需要重新启动Apache(如果您使用mod_php5)或PHP5-FPM,或手动清除opcache。
有关如何手动清除opcache的详细信息,您基本上必须使用opcache_reset()
创建一个PHP文件并运行它,但这必须与其他文件位于同一个SAPI中 - 即由PHP5-FPM运行如果那就是为你的其他文件服务的东西。
http://ihaveabackup.net/2013/10/19/invalidating-the-opcache-in-php-5-5/