在将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
我不确定这是否是解决我的问题的正确方法,也许其他人可以提供更好的方法。但这可能会帮助遇到相同问题的其他人