PHP5.4 中 APC 与 OpCache 可以共存吗

PHP5.4 中 APC 与 OpCache 可以共存吗

我们通常在 CENTOS 上为生产站点运行启用了 APC 的 php 5.4.x。我们有一个新应用程序出现分段错误,开发团队认为这是因为我们使用了 APC。该应用程序很复杂,确实需要一个操作码缓存。

我们有许多现有的应用程序很乐意使用 APC 来处理操作码和其他缓存需求,但我们并不想进行 QA,因此我们想做的就是在 APC 扩展旁边安装 OpCache 扩展,然后让应用程序随意启用或禁用。然而,我找不到任何迹象表明这会或不会起作用,所以在我们开始与 chef 打交道以实现这一点之前,我很想对此有一些了解。

答案1

您不能同时加载多个操作码缓存;只有一个或另一个会实际运行,并且另一个在尝试加载时会引发错误。

安装 OPcache 时需要删除 APC。

答案2

最新的 APC 快照(3.1.15-dev)可以与 opcache 一起使用(使用 apc.enable_opcode_cache=0 和 apc.shm_strings_buffer=0),但在所有情况下,此扩展都已失效且无人维护。

如果您使用 opcache 并且需要缓存用户数据,请参阅 APCu 扩展,它是 APC 的替代品,但没有操作码缓存。

https://pecl.php.net/package/APCu

php-pecl-zendopcache 和 php-pecl-apcu 包均可在 EPEL 存储库中使用。

相关内容