Opcache 清除太快

Posted

技术标签:

【中文标题】Opcache 清除太快【英文标题】:Opcache clears too quickly 【发布时间】:2016-03-19 12:48:13 【问题描述】:

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

那么有没有办法阻止它?还是正常行为?

非常感谢。

【问题讨论】:

你的 php.ini 中的 opcache 设置是什么? ""opcache.max_accelerated_files"的值是多少?如果设置"opcache.validate_timestamps = 0"会发生什么? opcache.max_accelerated_files = 2000 你有超过 2000 个文件吗? 不,我没有在任何地方调用 opcache_reset() 【参考方案1】:

实际上有配置。 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

【讨论】:

通过使用opcache.validate_timestamps0,选项opcache.revalidate_freq 将被忽略。【参考方案2】:

听起来你需要在 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/

【讨论】:

以上是关于Opcache 清除太快的主要内容,如果未能解决你的问题,请参考以下文章

php.ini的opcache配置详解

php配置opcache

php_opcache怎么开启不了

细说opcache

php 开启opcache

php开启opcache