启用 Opcache 不起作用
Posted
技术标签:
【中文标题】启用 Opcache 不起作用【英文标题】:Enabling Opcache Not Working 【发布时间】:2014-12-16 13:11:15 【问题描述】:我正在尝试启用 Opcache,但由于某种原因,在编辑我的 php.ini 文件并重新启动 apache(甚至重新启动服务器)后,它仍然没有启用。运行测试我可以看到 php 文件位置:
Loaded Configuration File /etc/php5/apache2/php.ini
在我添加的那个文件中:
zend_extension=/usr/lib/php5/20121212/opcache.so
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1
zend 扩展的位置由 locate opcache.so 定义。这没有用。然后我注意到 php 正在加载一个附加文件 /etc/php5/apache2/conf.d/05-opcache.ini。在该文件中,它看起来像:
; configuration for php ZendOpcache module
; priority=05
zend_extension=opcache.so
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1
但是,重启 apache 后它仍然无法启用。以下是我的 phpinfo() 输出:
Opcode Caching Disabled
我怎样才能让它启用?
【问题讨论】:
多年以后,我有同样的问题,没有答案解决。 :( 我正好跑到the same issue... 仍然没有答案... 【参考方案1】:在phpinfo()
的输出中,查看下面列出的.ini
文件:
已解析的其他 .ini 文件
可能有类似的东西
/usr/local/php5/php.d/20-extension-opcache.ini
确保在此文件中设置了opcache.enable=1
。
【讨论】:
谢谢先生。这让我发疯,就像它工作一样,然后运行 sudo apachectl restart【参考方案2】:如果一切都失败了,你可以试试:
sudo yum install php-opcache
解决了我的 Fedora PHP 7.2 版本的问题。
原来我没有安装 opcache(一个关键的问题是 phpinfo() 的“已解析的其他 .ini 文件”部分缺少 .ini 文件)。
【讨论】:
【参考方案3】:检查 php.ini 中的 [opcache] 部分
[opcache]
; Determines if Zend OPCache is enabled
opcache.enable=0
【讨论】:
不,已被注释掉。即使取消注释并设置为 1,我仍然遇到同样的问题。【参考方案4】:您可能正在寻找 ini 文件位置
cat /etc/php.d/10-opcache.ini
【讨论】:
【参考方案5】:首先这样做
sudo apt-get install libpcre3-dev
然后
sudo pecl install zendopcache-beta
【讨论】:
以上是关于启用 Opcache 不起作用的主要内容,如果未能解决你的问题,请参考以下文章