启用Opcache不起作用

时间:2014-10-21 10:30:37

标签: php opcache

我正在尝试启用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

如何启用它?

5 个答案:

答案 0 :(得分:1)

phpinfo()的输出中,查看以下列出的.ini个文件:

  

解析了其他.ini文件

可能有类似

的内容

/usr/local/php5/php.d/20-extension-opcache.ini

确保在此文件中设置opcache.enable=1

答案 1 :(得分:1)

如果其他所有方法都失败了,您可以尝试:

sudo yum install php-opcache

解决了我的Fedora的PHP 7.2版本上的问题。

结果是我没有安装opcache(一个重要的礼物是phpinfo()的“其他.ini文件已解析”部分中缺少.ini文件。)

答案 2 :(得分:0)

检查php.ini中的[opcache]部分

[opcache]
; Determines if Zend OPCache is enabled
opcache.enable=0

答案 3 :(得分:0)

首先这样做

sudo apt-get install libpcre3-dev

然后

sudo pecl install zendopcache-beta

答案 4 :(得分:0)

您可能正在寻找ini文件位置

cat /etc/php.d/10-opcache.ini