在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