通过 在 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