Opcache清除太快

时间:2015-12-14 05:20:22

标签: php opcache

我已经在新的托管(虚拟云)上设置了我的网站,但是我正在查看opcache,并且scripts没有用于说a minutes or so从缓存中删除。

那么有办法阻止它吗?或者这是正常行为吗?

非常感谢。

2 个答案:

答案 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=1opcache.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/