2011-08-04 116 views
6

有時,也許一天一次,我們使用APC的PHP網絡服務器將引發一個E_WARNING錯誤,錯誤處理程序捕獲並記錄日誌。它看起來類似於:APC - 如何處理GC緩存警告?

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_WARNINGs死亡,因爲我們希望是我見過的代碼穩定,最警示的不可持續(包括失蹤,斷言等)

APC有足夠的內存,100MB,只有約。文件和用戶緩存使用32MB。

+0

首款谷歌的答案, [1]:http://stackoverflow.com/questions/4656874/what-does-the-cryptic-gc-cache-entry-mean 也許這就是回答你的問題? – yokoloko

+0

謝謝。所以我認爲如果我正確地閱讀該線程,這個警告基本上是良性的(對當前正在運行的腳本沒有負面影響),所以我應該忽略它。理想情況下,APC會將此錯誤作爲E_NOTICE發佈。 – Toxikman

回答

3

從我可以告訴谷歌搜索,這對當前正在運行的腳本沒有影響,因此警告可以被忽略。

+3

因此可以忽略它,你怎麼壓制它?如果你有一個捕獲所有警告的錯誤處理程序(例如在像Yii這樣的框架中),它也會捕獲這個錯誤。 – matteo

9

如果您正在考慮APCU(PHP 5.5),我建議將APC升級到合併版本,其中this PR已合併。至少APCU 4.0.3。