使用fedora 20并安装了php 5.5.8,phpinfo没有显示任何opcache。
在php.ini
中添加了以下内容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
但是在我的浏览器中使用phpinfo打开一个php文件并没有向我显示任何opcache,甚至没有我添加的设置(是的,我重新启动httpd并更改同一文件中的其他设置反映在phpinfo的输出中)。
寻找cache php
让我:
php-opcache.x86_64:Zend OPcache
非常奇怪,因为根据documentation opcache只能编译为共享扩展名。
如果您已禁用默认扩展程序的构建 --disable-all,你必须使用--enable-opcache选项编译PHP,以便OPcache可用。
答案 0 :(得分:2)
F20中的php-opcache确实是作为共享扩展构建的:
[root@jupiter local]# rpm -q -l php-opcache
/etc/php-zts.d/opcache-default.blacklist
/etc/php-zts.d/opcache.ini
/etc/php.d/opcache-default.blacklist
/etc/php.d/opcache.ini
/usr/lib64/php-zts/modules/opcache.so
/usr/lib64/php/modules/opcache.so
我有点感到困惑,你仍然修改php.ini而不是/etc/php.d-这是几天的菜。您应该在"解析其他.ini文件中使用opcache.ini" phpinfo部分。鉴于你已经修改了php.ini,我相信你有很老的php.ini,它已经存在了很长时间,不再适用于最新的PHP。
答案 1 :(得分:1)
供将来参考:
看起来安装php-opcache.x86_64
将重新安装所有php包。所以“普通”的php二进制文件带有--disable-all
标志,因此安装opcache需要安装新的二进制文件。
我不确定这是否正确但是正在运行
yum install php-opcache.x86_64
(注意;我使用的是x86_64)架构因此可能会有所不同,具体取决于您的架构和已安装的fedora版本32/64 x86版本)
安装完毕后,我现在在php.ini中有opcache:
该程序使用Zend脚本语言引擎:Zend 引擎v2.5.0,版权所有(c)1998-2014 Zend Technologies Zend技术公司的Zend OPcache v7.0.4-dev,版权所有(c)1999-2014 与Xdebug v2.2.5,版权所有(c)2002-2014,作者Derick Rethans