我已经在新的主机(虚拟云)上设置了我的网站,但是我正在查看opcache,并且没有将用于a minutes or so
的scripts
从缓存中删除。Opcache清除速度太快
那么有没有办法阻止它?或者这是一种正常的行为?
非常感谢。
我已经在新的主机(虚拟云)上设置了我的网站,但是我正在查看opcache,并且没有将用于a minutes or so
的scripts
从缓存中删除。Opcache清除速度太快
那么有没有办法阻止它?或者这是一种正常的行为?
非常感谢。
听起来像你需要在php.ini中定义validate_timestamps=0
。注意这一点虽然 - 如果您上传任何更改到您的PHP文件,您将需要重新启动Apache(如果您使用mod_php5)或PHP5-FPM,或手动清除opcache。
有关如何清除opcache手动你基本上要创建一个PHP文件,opcache_reset()
并运行它的细节,但是这必须是在同一个SAPI作为你的其他文件 - 即由PHP5-FPM运行,如果是什么是为您的其他文件提供服务。 http://ihaveabackup.net/2013/10/19/invalidating-the-opcache-in-php-5-5/
实际上有这样的配置。 opcache.revalidate_freq=2
,默认值是2秒,opcache会尝试每2秒检查一次时间戳,如果文件改变了,它会重新生效。 您可以更改值以符合您的需求,或者您可以使用此配置文件opcache.validate_timestamps=0
关闭时间戳检查,但在这种情况下,您每次将代码部署到生产时都必须重新启动php-fpm(如果您使用的是php-fpm )和Web服务器
opcache.revalidate_freq=2
或任何整数值
opcache.validate_timestamps=1
或opcache.validate_timestamps=0
By使用'opcache.validate_timestamps'到'0',选项'opcache.revalidate_freq'将被忽略。 –
是什么在你的php.ini的opcache设置? – Clay
是什么“,‘opcache.max_accelerated_files’的价值呢?如果你设置‘opcache.validate_timestamps = 0’? – Clay
opcache.max_accelerated_files = 2000 –