从cli调用PHP时,APC不加载

在CentOS 5上通过pecl install apc安装APC后,当从CLI调用PHP时(从apache调用时,加载没有任何问题),APC不加载。

我得到的错误是:

 root@server [~]# php PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/apc.so' - /usr/lib64/php/modules/apc.so: undefined symbol: pcre_exec in Unknown on line 0 

我在网上search了一个解决scheme,发现很多人都有这个问题。 但是,我无法find一个解决scheme,为我工作。

我通过pecl安装程序删除APC解决了问题,然后使用pear安装程序重新安装。

 pecl uninstall apc pear install pecl/apc 

运行which php ,然后locate php 。 如果您的系统上有多个PHP二进制文件(如果您通过软件包pipe理器安装了一个版本,则可以通过源代码编译另一个版本,这很容易发生),这些扩展名在版本之间可能不兼容。 删除不正确的PHP二进制文件应该允许这个工作正常。

您只需将以下指令添加到您的apc.ini文件中:

 apc.enable_cli = 1 

修复这个比较简单:

将现有文件/etc/php.d/apc.ini复制到/tmp

 cp /etc/php.d/apc.ini /tmp 

删除已安装的软件包

 yum remove php-pecl-apc 

使用pecl本身来安装apc

 pecl install apc 

移回文件apc.ini

 mv /tmp/apc.ini /etc/php.d/apc.ini