APC - 如何处理GC缓存警告?

6

有时,也许一天一次,我们使用APC的PHP Web服务器会引发一个E_WARNING错误,我的错误处理程序会捕获并记录它。它看起来类似于这样:

require_once() [function.require-once]: GC cache entry '/path/file.php'
(dev=47775802 ino=183046) was on gc-list for 3602 seconds -
in /path/some_other_file.php(31)

这是一个可恢复的错误吗?我应该忽略这些警告吗?

目前,我的脚本会在 E_WARNING 错误时停止,因为我们希望代码稳定,大多数警告都不可继续(缺少包含文件、断言等)。

APC 有足够的内存,100MB,只有大约32MB被文件和用户缓存使用。


也许这可以回答你的问题? - yokoloko
谢谢。所以我认为如果我正确地阅读了那个线程,这个警告基本上是无害的(对当前运行的脚本没有负面影响),所以我应该忽略它。理想情况下,APC应该将此错误发布为E_NOTICE。 - Stu
2个回答

9

如果您正在考虑使用APCU (PHP 5.5),我建议升级到已合并此PR的版本。至少是APCU 4.0.3。


3
据我从谷歌搜索得到的信息,这对当前正在运行的脚本没有任何影响,因此可以忽略此警告。

3
既然可以忽略它,那么如何抑制它呢?如果你有一个错误处理程序可以捕获所有警告(例如在 Yii 这样的框架中),它也将捕获这个警告。 - matteo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接