2011-08-04 15 views
6

En ocasiones, tal vez una vez al día, nuestro servidor web PHP usando APC generará un error E_WARNING que mi controlador de errores detecta y registra. Es similar a esto:APC: cómo manejar las advertencias de caché de 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) 

Es esto un error recuperable? ¿Debería simplemente ignorar estas advertencias?

He conseguido actualmente para que el guión muere en E_WARNINGs porque queremos que el código más estable y la advertencia de que he visto no son de continuación (faltante incluye, afirma, etc.)

APC tiene un montón de memoria, 100MB, y solo aprox. 32 MB utilizados por los cachés de archivos y usuarios.

+0

Primera google respuesta, [1]: http://stackoverflow.com/questions/4656874/what-does-the-cryptic-gc-cache-entry-mean Tal vez por responder a su pregunta? – yokoloko

+0

Gracias. Así que creo que si estoy leyendo ese hilo correctamente, esta advertencia es básicamente benigna (no tiene ningún efecto negativo en el script que se está ejecutando actualmente) y entonces debería ignorarlo. Idealmente, APC publicaría este error como E_NOTICE en su lugar. – Toxikman

Respuesta

3

Por lo que puedo decir de Google, esto no tiene ningún efecto en el script en ejecución y, por lo tanto, la advertencia puede ignorarse.

+3

Por lo tanto, dado que se puede ignorar, ¿cómo se suprime? Si tiene un controlador de errores que detecta todas las advertencias (como, por ejemplo, en un marco como Yii), también captará este. – matteo

9

En caso de que esté pensando en APCU (PHP 5.5) le sugiero actualizar APC a la versión, donde this PR se fusiona. APCU 4.0.3 al menos.

Cuestiones relacionadas