Назад | Перейти на главную страницу

APC не загружается при вызове PHP из cli

После установки APC на CentOS 5 через pecl install apc, APC не загружается, когда PHP вызывается из CLI (при вызове из 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 

Я искал в Интернете решение и обнаружил, что у многих была эта проблема. Однако мне не удалось найти решение, которое работало бы для меня.

Я исправил проблему, удалив APC с помощью установщика pecl, а затем переустановив его с помощью установщика груши.

pecl uninstall apc
pear install pecl/apc

Бегать which php, затем locate php. Если в вашей системе несколько двоичных файлов PHP (это может произойти довольно легко, если вы установите одну версию через диспетчер пакетов, а затем скомпилируете другую через исходный код), расширения, скорее всего, не будут совместимы между версиями. Удаление неправильного двоичного файла 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

Установите apc, используя сам pecl

pecl install apc

Вернуть файл apc.ini

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