I'm receiving this error while trying to use apc_store()
. I googled it and saw that this was APC timebomb bug and saw some fixes which suggested adding apc.slam_defense = Off;
to php.ini.
I need to know whether this has happened because of a programming error, and if yes, how to fix it.
This is the code segment:
if ($data = apc_fetch("foo")) {
$an_array = $data;
} else {
/* couple of lines */
apc_store("circles", $an_array); // This is where I get the error
}
This script will be called frequently in my deployed system.
I hope I've provided enough info
Thanks in advance
Setting
apc.write_lock = 1
andapc.slam_defense = 0
inphp.ini
should fix the problem.Last versions of APC seems to resolve problem, you can update APC with PECL
These instructions will vary based on how PHP is installed.
But, in your
/etc/php5/cgi/conf.d/extensions.ini
file (orapc.ini
, orphp.ini
) after you have added yourextension=apc.so
you can disable the slam defenseFor example, this is my configuration that I use.
Since APC 3.1.3, it seems there is a bug (http://pecl.php.net/bugs/bug.php?id=16814), warning are made when slam defense is at on and when you try to write a key that already exists.
Does not seem to be fixed yet.