Когда я пытаюсь запустить сценарий, использующий imap
в моем браузере он работает нормально (загружается с сервера Ubuntu 14.04 в моей сети с установленным расширением). Однако, когда я пытаюсь использовать PHP CLI на указанном сервере, он не загружается imap
.
Я написал простой скрипт для проверки загруженных расширений, используя get_loaded_extensions()
, и он научил меня двум вещам:
apache2/php.ini
(imagick.so
) загружался как в CLI, так и в браузереПочему это происходит и как я могу загрузить все 51 расширение и в интерфейс командной строки, и в браузер?
Существуют отдельные файлы конфигурации для PHP при вызове через Apache и при вызове через CLI.
Например, в Debian (по крайней мере) они находятся в /etc/php5/apache2/php.ini
и /etc/php5/cli/php.ini
соответственно.
Тот факт, что вы вручную заявили imagick.so
в apache2 / php.ini может ничего не значить - большинство дистрибутивов имеют другой способ управления модулями PHP и часто могут автоматически включать расширение для вас, так что оно могло быть уже добавлено.
Я бы посоветовал посмотреть, как ваш дистрибутив Linux управляет расширениями PHP (для Debian и Ubuntu он использует команду под названием php5enmod
, который нужно вызывать через sudo
) или просто вручную отредактируйте /etc/php5/cli/php.ini
или аналогичный, чтобы быть актуальным.