我正在尝试启用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
如何启用它?
答案 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