Недавно я испытал что-то странное, и я не смог найти никакого объяснения, когда гуглил.
Настройка: мы используем APC
Мы используем APC (3.1.15-dev) в качестве кэша пользовательских данных 1-го уровня для нашего веб-приложения PHP (v5.5.10).
Кэш кода операции APC отключен.
У нас также есть apc.serializer = default
(эта настройка оказывается важной).
Задача: мы хотим включить OPcache
К сожалению, при включении OPcache кэш APC испытывает проблемы при попытке сохранить значение.
Решение: указание сериализатора для APC
apc.serializer = igbinary
При изменении этого параметра APC снова начинает работать нормально.
Вопрос: что происходит?
Хотя мы решили проблему, я хотел бы лучше понять проблему и что к ней привело.
Я не уверен, какой сериализатор использовался по умолчанию для APC, прежде чем указывать igbinary, но я могу выяснить, важно ли это.
OPcache как-то меняет сериализатор по умолчанию?
Есть идеи, что происходит? Любые идеи от сообщества будут высоко оценены 🙂
PHP 5.5.x не может использовать APC. Вам нужно использовать APCu. Увидеть ниже:
Версия PHP: работает со всеми версиями PHP до PHP 5.4 (3.1.13 — бета-версия)
Последняя бета-версия: 3.1.13 (2012-09-03)
Последняя стабильная версия: 3.1.9 (2011-05-14)
Статус: неактивный, потенциально мертвый (с сентября 2012 г. новых выпусков нет)
(источник)
Других решений пока нет …