从 CLI 调用 PHP 时 APC 未加载

从 CLI 调用 PHP 时 APC 未加载

通过 在 CentOS 5 上安装 APC 后pecl install apc,从 CLI 调用 PHP 时不会加载 APC(从 apache 调用时,可以毫无问题地加载)。

我收到的错误是:

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 

我在网上搜索解决方案,发现很多人都遇到过这个问题。但是,我找不到适合自己的解决方案。

答案1

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

pecl uninstall apc
pear install pecl/apc

答案2

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

答案3

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

apc.enable_cli = 1 

答案4

修复这个问题相对简单:

将现有文件复制/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

相关内容