Usar un TTL de 0 significa que APC vaciará todo el caché cuando se quede sin memoria. El error ya no aparece, pero hace que APC sea mucho menos eficiente. Es una decisión sin riesgo, sin problemas, "No quiero hacer mi trabajo". APC no está destinado a ser utilizado de esa manera. Debe elegir un TTL lo suficientemente alto para que las páginas a las que se accede más no caduquen. Lo mejor es proporcionar suficiente memoria para que APC no necesite vaciar la caché.
Simplemente lea el manual para comprender cómo se usa ttl: http://www.php.net/manual/en/apc.configuration.php#ini.apc.ttl
La solución es aumentar la memoria asignada a APC. Haga esto aumentando apc.shm_size.
Si APC se compila para usar la memoria de segmento compartido, su sistema operativo lo limitará. Escriba este comando para ver el límite de su sistema para cada segmento:
sysctl -a | grep -E "shmall|shmmax"
Para localizar más memoria, deberá aumentar el número de segmentos con el parámetro apc.shm_segments.
Si APC está utilizando la memoria mmap, entonces no tiene límite. La cantidad de memoria aún está definida por la misma opción apc.shm_size.
Si no hay suficiente memoria en el servidor, use la opción de filtros para evitar que los archivos php a los que se accede con menos frecuencia se almacenen en caché.
Pero nunca use un TTL de 0.
Como dijo c33s, use apc.php para verificar su configuración. Copie el archivo del paquete apc a una carpeta web y señale el navegador. Verá qué se asigna realmente y cómo se usa. Los gráficos deben permanecer estables después de las horas, si cambian completamente en cada actualización, significa que su configuración es incorrecta (APC está descargando todo). Asigne un 20% más de RAM que lo que APC realmente usa como margen de seguridad, y verifíquelo regularmente.
El valor predeterminado de permitir solo 32 MB es ridículamente bajo. PHP fue diseñado cuando los servidores tenían 64 MB y la mayoría de los scripts usaban un archivo php por página. Hoy en día, las soluciones como Magento requieren más de 10k archivos (~ 60Mb en APC). Debe permitir suficiente memoria para que la mayoría de los archivos php siempre estén en caché. No es un desperdicio, es más eficiente mantener el código de operación en RAM en lugar de tener el php sin procesar correspondiente en la caché de archivos. Hoy en día podemos encontrar servidores dedicados con 24 Gb de memoria por tan solo $ 80 / mes, así que no dude en permitir varios GB a APC. Puse 2GB de 24GB en un servidor que aloja tiendas 5Magento y ~ 40 sitios web de WordPress, APC usa 1.2GB. Cuente 64 MB para la instalación de Magento, 40 MB para Wordpress con algunos complementos.
Además, si tiene sitios web de desarrollo en el mismo servidor. Excluirlos del caché.