PHP APC Potentiel Cache Slam Écartée pour la Clé
Je reçois cette erreur en essayant d'utiliser apc_store()
. Je l'ai googlé et vit que cela était APC timebomb bug et j'ai vu quelques correctifs qui a suggéré d'ajouter apc.slam_defense = Off;
de php.ini.
J'ai besoin de savoir si cela est arrivé à cause d'une erreur de programmation, et si oui, comment le résoudre.
C'est le segment de code:
if ($data = apc_fetch("foo")) {
$an_array = $data;
} else {
/* couple of lines */
apc_store("circles", $an_array); //This is where I get the error
}
Ce script sera appelé fréquemment dans mon système déployé.
J'espère que je vous ai fourni assez d'informations
Merci d'avance
Vous devez vous connecter pour publier un commentaire.
Depuis APC 3.1.3, il semble y avoir un bug (http://pecl.php.net/bugs/bug.php?id=16814), avertissement sont prises lors de la slam défense est à sur les et lorsque vous essayez d'écrire une clé qui existe déjà.
Ne semble pas être encore fixée.
Réglage
apc.write_lock = 1
etapc.slam_defense = 0
dansphp.ini
devrait résoudre le problème.Dernières versions de l'APC semble résoudre le problème, vous pouvez mettre à jour l'APC avec PECL
Ces instructions varient en fonction de la façon dont PHP est installé.
Mais, dans votre
/etc/php5/cgi/conf.d/extensions.ini
fichier (ouapc.ini
, ouphp.ini
) après avoir ajouté votreextension=apc.so
vous pouvez désactiver le slam de la défensePar exemple, c'est ma configuration que j'utilise.