当APC.serializer=默认值时,启用OPcache会中断APC


Enabling OPcache breaks APC when apc.serializer=default

我最近遇到了一些奇怪的事情,在谷歌搜索时找不到任何解释。

设置:我们使用APC

我们使用APC(3.1.15-dev(作为PHP(v5.10(web应用程序的一级用户数据缓存。APC操作码缓存已禁用。我们还有apc.serializer = default(这个设置很重要(。

挑战:我们希望启用OPcache

不幸的是,启用OPcache时,APC缓存在尝试保存值时会遇到问题。

解决方案:为APC指定串行器

apc.serializer = igbinary

当更改此设置时,APC再次开始正常工作。

问题:发生了什么

虽然我们解决了这个问题,但我想更好地了解这个问题以及是什么导致了它

在指定igbinary之前,我不确定哪个串行器被用作APC的默认串行器,但我可以确定它是否重要。

OPcache是否以某种方式更改了默认的序列化程序?

知道发生了什么事吗?社区的任何见解都将不胜感激:-(

PHP 5.5.x无法使用APC。你需要使用APCu。见下文:

PHP版本:适用于PHP 5.4(3.1.13-测试版(以下的所有PHP版本
最新测试版:3.1.13(2012-09-03(
最新稳定版本:3.1.9(2011-05-14(
状态:休眠,可能死亡(自2012年9月以来没有新版本(

(来源(