Потенциальный кэш кэша PHP APC для ключа

Я получаю эту ошибку при попытке использовать apc_store() . Я просмотрел его и увидел, что это ошибка APC timebomb и увидели некоторые исправления, которые предполагали добавить apc.slam_defense = Off; на php.ini.

Мне нужно знать, произошло ли это из-за ошибки программирования, и если да, то как это исправить.

Это сегмент кода:

 if ($data = apc_fetch("foo")) { $an_array = $data; } else { /* couple of lines */ apc_store("circles", $an_array); // This is where I get the error } 

Этот скрипт будет часто вызываться в моей развернутой системе.

Надеюсь, я предоставил достаточно информации

заранее спасибо

Related of "Потенциальный кэш кэша PHP APC для ключа"

Начиная с APC 3.1.3, кажется, что есть ошибка ( http://pecl.php.net/bugs/bug.php?id=16814 ), предупреждение производится, когда защита от шлема включена, и когда вы пытаетесь написать ключ, который уже существует.
Кажется, пока не исправлено.

Установка apc.write_lock = 1 и apc.slam_defense = 0 в php.ini должна устранить проблему.

Последние версии APC, похоже, решают проблему, вы можете обновить APC с помощью PECL

 pecl upgrade apc 

Эти инструкции будут отличаться в зависимости от того, как установлен PHP.

Но в файле /etc/php5/cgi/conf.d/extensions.ini (или apc.ini или php.ini ) после того, как вы добавили extension=apc.so вы можете отключить защиту от шлема

Например, это моя конфигурация, которую я использую.

 [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