ext - php apc install
Potencial de APC de PHP APC Slam para clave (4)
Recibo este error al intentar usar apc_store()
. Busqué en Google y vi que se trataba de un error de la bomba de tiempo de APC y vi algunas correcciones que sugerían agregar apc.slam_defense = Off;
a php.ini.
Necesito saber si esto ha ocurrido debido a un error de programación y, en caso afirmativo, cómo solucionarlo.
Este es el segmento de código:
if ($data = apc_fetch("foo")) {
$an_array = $data;
} else {
/* couple of lines */
apc_store("circles", $an_array); // This is where I get the error
}
Este script será llamado frecuentemente en mi sistema desplegado.
Espero haber proporcionado suficiente información
Gracias por adelantado
Desde APC 3.1.3, parece que hay un error ( http://pecl.php.net/bugs/bug.php?id=16814 ), se advierte cuando Slam Defense está activado y cuando intenta escribir un Clave que ya existe.
No parece estar arreglado todavía.
Establecer apc.write_lock = 1
y apc.slam_defense = 0
en php.ini
debería solucionar el problema.
Estas instrucciones variarán en función de cómo se instale PHP.
Pero, en su archivo apc.ini
(o apc.ini
, o php.ini
) después de haber agregado su extension=apc.so
puede desactivar la defensa de slam
Por ejemplo, esta es mi configuración que uso.
[apc]
apc.enabled=1
apc.shm_size=48M
apc.num_files_hint=10000
apc.user_entries_hint=10000
apc.max_file_size=5M
apc.stat=1
apc.enable_cli=On
apc.write_lock = 1
apc.slam_defense = 0 # <----- This is the Important Setting
Las últimas versiones de APC parecen resolver el problema, puede actualizar APC con PECL
pecl upgrade apc