c33s est complètement faux et a 45 voix en ce moment, ce sont 45 personnes qui n'ont pas lu le manuel
À l'aide d'un TTL de 0 signifie que les APC vider tout le cache quand il est à court de mémoire. L'erreur n'apparaît plus, mais il fait APC beaucoup moins efficace. C'est un pas de risque, pas de problème, "je ne veux pas faire mon travail à la décision". L'APC n'est pas destiné à être utilisé de cette façon. Vous devez choisir une durée de vie assez élevée pour les plus consultées pages n'expirera pas. Le mieux est de donner suffisamment de mémoire pour APC n'a pas besoin de vider le cache.
Il suffit de lire le manuel pour comprendre comment ttl est utilisé : http://www.php.net/manual/en/apc.configuration.php#ini.apc.ttl
La solution est d'augmenter la mémoire allouée à l'APC.
Ce grâce à une augmentation de l'apc.shm_size.
Si APC est compilé pour utiliser le Segment de Mémoire vous serez limité par votre système d'exploitation. Tapez cette commande pour voir votre système limite pour chaque segment :
sysctl -a | grep -E "shmall|shmmax"
Pour alocate plus de mémoire, vous aurez à augmenter le nombre de segments avec le paramètre de l'apc.shm_segments.
Si APC est l'utilisation de mmap de mémoire, puis vous n'avez pas de limite. La quantité de mémoire est toujours définie par la même option apc.shm_size.
Si il n'y a pas assez de mémoire sur le serveur, puis utiliser l'option de filtres pour empêcher les moins souvent utilisées fichiers php d'être mis en cache.
Mais n'utilisez jamais un TTL de 0.
Comme c33s dit, télécharger apc.php pour vérifier votre config. Vous allez voir ce qui est vraiment affecté et comment il est utilisé. Les graphiques doivent rester stable après les heures de travail, si elles sont complètement en train de changer à chaque mise à jour, alors cela signifie que votre configuration est mauvaise (APC annule tout). Allouer 20% de plus de mémoire que ce que l'APC vraiment l'utiliser comme une marge de sécurité, et de vérifier sur une base régulière.
Le défaut de n'autoriser que de 32 mo est ridiculement bas. PHP a été conçu lors de l'un des serveurs ont été de 64 mo et la plupart des script ont été à l'aide d'un fichier php par page. Aujourd'hui, des solutions comme Magento nécessite plus de 10k fichiers (~60 mo APC). Vous devez prévoir suffisamment de mémoire de sorte que la plupart des fichiers php sont toujours mis en cache. Ce n'est pas un déchet, il est plus efficace de garder opcode en ram plutôt que de devoir le correspondant raw php dans le fichier de cache.
Aujourd'hui, on peut trouver des serveurs dédiés avec 24 go de mémoire pour aussi peu que $80/mois, donc n'hésitez pas à permettre à plusieurs GO à l'APC. J'ai mis 2 GO de 24 GO sur un serveur d'hébergement 5Magento magasins et ~40 site wordpress, APC utilise 1.2 GO. Le comte de 64 mo pour l'installation de Magento, 40 mo pour un Wordpress avec des plugins.