APC 是否与 PHP 5.4 或 PHP 5.5 兼容?Zend OPCache 包含在 PHP 5.5 中用于 PHP 5.4+ 的 APC 仍被标记为测试版

2022-08-30 07:35:09

APC似乎并没有更新到与php 5.4版本相吻合(我希望他们能像最初计划的那样将APC包含在PHP核心中)。

我似乎找不到任何明确的答案来说明当前的APC是否适用于php 5.4 +。我设法找到了php 5.4的Ubuntu软件包,但是php-apc软件包无法安装。


答案 1

Zend OPCache 包含在 PHP 5.5 中

2013 年 3 月 21 日,PHP 5.5 beta 1 发布,其中包括 “Zend OPCache” - 看起来这将成为 APC 的替代品,因为它包含在 PHP 内核中,并且必须在每个新版本中进行维护。

我个人建议那些依赖APC的操作码缓存的人使用即将推出的内置操作码缓存来测试他们的代码,并反馈遇到的任何问题,以确保稳定的最终版本。

我不知道这对APC的未来意味着什么。

用于 PHP 5.4+ 的 APC 仍被标记为测试版

这意味着开发人员不认为它完全稳定。虽然许多人在当前的SVN版本中完全没有遇到任何问题,但仍然存在奇怪的报告,即在某些配置或重负载下,人们的边缘情况。

与您希望在生产环境中使用的所有内容一样,请确保首先在开发预生产环境中全面测试任何版本(beta 或稳定版本)。这包括负载测试!

从3.1.13版本开始,对SVN存储库的提交速度有所放缓,并且错误列表没有那么多最近的添加。让它成为你想要的。

2012年12月10日21:05,Rasmus Lerdorf写道:

APC现在处于5.4的地步,我认为没有比5.3中更多的边缘情况。两者都不是完美的,但它对于大多数网站来说已经足够接近了。

任何具有C / gdb技能和一些空闲时间的人都被敦促掩盖错误列表,看看他们是否可以修复任何东西,或者改进我们都依赖的这个免费的开源产品

存在替代解决方案,维基百科提供了PHP加速器的列表

2013年2月13日,Zeev Suraski宣布Zend Optimizer+源代码的可用性。

关于在下一个主要版本(5.5之后的版本)中将Zend Optimizer+集成到PHP内核中已经进行了相当长时间的讨论。如果是这种情况,人们可能希望提前熟悉Zend Optimizer+。


请勿使用 APC 3.1.14

APC 3.1.14 已从 PECL 下载中删除,因为已发现一些严重的内存问题,但尚未找到。

如果您已经在使用 3.1.14,则可能希望降级,直到 3.1.15 发布。请记住,这仍然是测试版。如果您正在使用它,则使用它需要您自己承担风险。

2013-01-02
APC 3.1.14可用除了解决相当多的其他错误外,还增加了PHP 5.5兼容性

静止测试版


2012-09-03
APC 3.1.13 可用,修复了一些 segfault。


2012-08-16
APC 3.1.12 标签已创建,但仍标记为 beta,可在 APC PECL 页面以及更新日志中找到。

这次修复了许多bin_dump相关的错误。


2012-07-19
APC 3.1.11 标签已创建,但仍标记为 beta,可在 APC PECL 页面以及更新日志中找到。我一直在关注相关的邮件列表,他们仍在积极努力修复APC错误,但是这是一个复杂的模块,似乎没有多少人能够胜任这项任务。此版本修复了包含文件时令人讨厌的 stat=0 错误。


2012-04-11
今天创建了一个APC 3.1.10标签,并在APC PECL页面上放置了3.1.10的测试版

  • 添加 PHP 5.4 支持(德米特里、阿纳托利、皮埃尔)
  • 修复了错误 #22679:修复了常量apc_bin_dump。使用 IS_CONSTANT_TYPE_MASK 处理所有常量,包括未限定的常量(而不是 ~IS_CONSTANT_INDEX 检查)
  • 修复了错误#23822,php在apache重新启动时崩溃

答案 2

从 PHP 5.4.7 和 APC 3.1.13 开始(甚至截至 2012-09-19 的 APC SVN 中继),尽管它“兼容”,但在负载较重的服务器上并不稳定,特别是如果您使用的是 PHP-FPM 和 $GLOBALS。APC上的一些开发人员讨论的是未解决的边缘案例

我在被问到这个问题6个月后才回答这个问题,因为这个问题仍然很普遍,遇到这个没有像我这样的答案的线程,是什么让我飞跃到PHP 5.4 w / APC并被烧毁。希望这将有助于人们避免一些痛苦。


推荐