После миграции Symfony на версию 4.3 я начал получать ошибки, подобные Failed to save key "getTypes|getShortDescription|isReadable ..." of type array.
, через некоторое время на моей "тестовой" настройке. Я начал расследование и обнаружил следующий запрос на удаление, который, похоже, был связан с моими проблемами (https://github.com/symfony/symfony/pull/31452).
Я обнаружил, что PropertyInfoCache записывается в системный кеш. Поскольку я использую doctrine и apcu (настройка api-platform.com) и на самом деле имею некоторые объекты прямо сейчас, сохраненные массивы содержали ~ 1000+ записей и постоянно записывались, что приводило к сбою apcu_store()
через некоторое время.
Я попытался найти параметр конфигурации, чтобы «отключить» кэширование свойства, но не смог найти ничего полезного, так как он связан с параметром kernel.debug
, который нужно включить / отключить.
После некоторого времени исследования единственное "решение", которое я мог бы найти, - это явно установить пул кеша для property_info для другого адаптера кеша и не дать ему исчерпать apcu:
framework:
cache:
pools:
cache.property_info:
adapter: cache.adapter.filesystem
Я не уверен, что это правильное решение моей проблемы, и, возможно, кто-то другой может предложить лучший способ. Но, возможно, это поможет другим, кто сталкивается с той же проблемой