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

Расширение PHP не загружается при запуске fcgid

Мне нужно использовать libpuzzle расширение для PHP, и пока мне не удалось запустить его с fcgid. Я установил его (к сожалению, вручную из-за проблем с зависимостями) и добавил extension=libpuzzle.so к моему /etc/php.ini. К сожалению, расширение загружается только для PHP-cli и не загружается для PHP, запущенного из fcgid. Я попытался:

  1. Делать service httpd restart после установки и модификации php.ini, но безрезультатно.
  2. Проверка phpinfo() чтобы увидеть, загружен он или нет, и это не с fcgid, но с интерфейсом командной строки. Расширения, которые были установлены через yum, лайк imagick, загружаются нормально.
  3. Загрузка во время выполнения с помощью dl()однако похоже «эта функция была удалена из некоторых SAPI в PHP 5.3»..

Я в недоумении. Я не хочу избавляться от FastCGI из-за этого единственного расширения. Я не могу установить расширение из репо, потому что одна из зависимостей (возможно, PHP) отличается от версии, ожидаемой от другого репо (и я не могу понизить версию, потому что код полагается на это). Пожалуйста помоги.

Я использую CentOS 6 с PHP 5.4.17.

Учитывая, сколько задач, связанных с PHP, выполняется на моем сервере, я обычно использую другой файл php.ini для Apache / mod_fcgid ...

FcgidWrapper "/usr/bin/php-cgi -c /etc/httpd/conf/php.ini" .php

Таким образом удаляется вся путаница в том, какой файл ini был проанализирован.

По-видимому, fcgid был настроен на использование php.ini файл, находящийся в каталоге пользователя, а не в /etc. Добавление extension=libpuzzle.so к этому файлу конфигурации проблема решена. Итак, если у вас есть аналогичная проблема, это может быть еще одна вещь, на которую нужно обратить внимание.