如何强制完全清除PHP7 opcache?


9

我的网络服务器上的opcache不断达到我设置的极限,即使我觉得我没有那么多的PHP代码,并且它确实应该有足够的空间。

即使清除操作缓存,它也会立即显示超过2/3的可用空间被填充,这一事实使情况更加复杂。

现在的示例:

运行opcache_reset()之前的phpinfo代码段:

Used memory     122958472
Free memory     5552 

运行opcache_reset()之后的phpinfo片段:

Used memory     90691312
Free memory     43526416

我知道在PHP7中,(显然)将opcache备份到了磁盘上,所以可能正在自动重新加载内容?但这似乎无法达到重置操作缓存的目的,而且我不知道操作缓存将备份到磁盘上的哪个位置,因此无法检查。

我正在nginx上运行PHP-FPM,准确地说是vesion 7.0.15-0ubuntu0.16.04.4。


没有使用PHP Opcache创建磁盘备份。它仅存储在内存中。
Sven

Answers:


5

您必须使用opcache_reset(),http: //php.net/manual/en/function.opcache-reset.php

请注意,它不能在CLI上运行;您必须创建一个调用它的HTTP访问脚本。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.