我的opcache在哪里,使用fedora并安装了php 5.5.8

时间:2014-06-10 06:09:55

标签: php fedora opcache

使用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可用。

2 个答案:

答案 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