2014-06-10 19 views
0

使用fedora 20并安装了php 5.5.8 phpinfo没有显示任何与opcache。我的opcache在哪里,使用fedora并安装了php 5.5.8

添加以下为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 

但在我的浏览器中打开一个PHP文件用的phpinfo不显示我的任何opcache,甚至没有我添加的设置(是的,我重新启动httpd和改变其他设置在相同的文件中反映在phpinfo的输出中)。

寻找cache php打动了我:

PHP-opcache.x86_64:在Zend OPcache

很奇怪,因为根据documentation opcache只能被编译为一个共享的扩展。

如果已禁用的默认扩展的建筑 - 禁用所有,必须在编译PHP使用--enable-opcache选项OPcache可用的。

回答

2

事实上,在F20中的php-opcache被构建为共享扩展:

[[email protected] 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 - 这是当天的菜在几年里。您应该在phpinfo的“附加.ini文件解析”部分中有opcache.ini。考虑到你已经修改了php.ini,我相信你已经有了很久的php.ini,它已经存在了很长时间,并且不再适合最新的PHP。

0

以供将来参考:

它看起来像安装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,Copyrig HT(c)中1998至2014年Zend技术 与Zend OPcache v7.0.4-dev的,版权(C)1999至2014年,由Zend技术 与Xdebug的V2.2.5,版权(C)2002年至2014年,由德里克Rethans的

+0

php-opcache不需要新的二进制文件。它只依赖于php二进制文件。 –

+0

@ user3713667 yum已经安装了php 5.5。*,但这些二进制文件必须已经被编译而没有opcache。安装php-opcahce.x86_64安装了所有已安装的二进制文件。 – HMR

+0

在F20中用php编译所有的扩展名,然后把.so文件放在相关的rpms中,在php上加载动态链接。所以在配置中安装和列出。检查SRPM中的php.spec。 –