我网络服务器上的 opcache 不断达到我设置的限制,尽管我觉得我没有那很多 PHP 代码,所以确实应该有足够的空间。
更糟糕的是,即使清除了 opcache,它立即地显示超过 2/3 的可用空间已被填充。
刚才的例子:
运行 opcache_reset() 之前的 phpinfo 代码片段:
Used memory 122958472
Free memory 5552
运行 opcache_reset() 之后的 phpinfo 代码片段:
Used memory 90691312
Free memory 43526416
我知道在 PHP7 中,opcache(显然)已备份到磁盘,所以也许东西正在自动重新加载?但这似乎违背了重置 opcache 的目的,而且我不知道 opcache 备份到磁盘上的哪个位置,所以我无法检查。
我在 nginx 上运行 PHP-FPM,确切地说是版本 7.0.15-0ubuntu0.16.04.4。
答案1
你必须使用 opcache_reset(),http://php.net/manual/en/function.opcache-reset.php
请注意,它不能通过 CLI 工作;您必须创建一个调用它的 HTTP 访问脚本。