如何在 Ubuntu 14.04 中正确启用 PHP 5.5 的 OPCache?

mtd*_*ans 10 server lamp php cache apache2

我正在设置一个本地服务器来测试配置;它是一个干净的 14.04 LAMP 服务器,在操作系统安装期间选择。

如果我理解正确,OPCache 附带 PHP 5.5(php -v确认这一点)但处于禁用状态。我已经按照 Internet 的建议启用它,但是我收到了关于这是否成功的混合消息。

我的php.ini

zend_extension=/usr/lib/php5/20121212/opcache.so
opcache.enable=1
opcache.enable_cli=1
Run Code Online (Sandbox Code Playgroud)

然而php -i,在重新启动机器后,告诉我

Opcode Caching => Disabled
Optimization => Disabled
Startup Failed => Opcode Caching is disabled for CLI

opcache.enable => On => On
opcache.enable_cli => Off => Off
Run Code Online (Sandbox Code Playgroud)

它显然已启用,同时禁用。

是否可以使用 14.04 存储库 PHP 包启用 OPCache,或者我是否需要从源代码编译 PHP?

mtd*_*ans 8

出于某种原因,设置fast_shutdown=1导致了问题并阻止了 OPCache 启动。一旦将其设置为0,OPCache 将成功启动并运行(可能与此错误有关?)。

因此,启用 OPCache所需要做的就是设置

; Determines if Zend OPCache is enabled
opcache.enable=1
Run Code Online (Sandbox Code Playgroud)

在 Apachephp.ini之后重启服务器

service apache2 restart
Run Code Online (Sandbox Code Playgroud)

旁注:php -i倾向于使用php.ini与 Apache不同的(例如/etc/php5/cli/php.ini),因此原始问题中存在令人困惑的差异。