После
,apt-get install php5-imap
, мне все еще нужно вручную выполнить
,php5enmod imap
, , что кажется странным и непоследовательным. Есть ли какая-то особая причина для этого?
Да это немного нечетно. Шаги включили для установки этого (для будущих пользователей, у которых есть проблемы, следующим образом)
sudo apt-get install php5-imap
sudo php5enmod imap
sudo service apache2 restart
Отвечать на вопрос, если существует конкретная причина его, да, там ;) Можно соединить интерфейсом с Apache с PHP несколькими способами (mod_php, cgi, fcgi, scgi, php-fpm, cli...). И можно использовать несколько из тех API сервера (SAPIs) на той же машине параллельно и решить сайтом / vhost, чтобы использовать (рассматривающие проблемы как производительность, безопасность или совместимость).
, Если бы модули PHP активировать только установкой, они активировать через весь доступный SAPIs. Но что, если необходимо дифференцироваться? Возможно, Вы хотите модуль, доступный для php-fpm (потому что Вы настраиваете достаточные проверки безопасности там), но не от интерфейса cli командной строки? Или Вы хотите настроить модуль по-разному для другого SAPIs. Или просто необходимо временно деактивировать модуль, в то время как чье-то выполнение нападения на сервер, и не хочет освобождать конфигурацию, Вы работали день, чтобы установить и подстроить.
, Чтобы сделать те вещи, существует структура каталогов и файлов конфигурации под /etc/php5
. И весьма схожий с этим, что a2ensite
/ a2dissite
делает для Apache vhosts и что a2enmod
/ a2dismod
делают для модулей Apache, можно управлять модулями PHP с phpenmod
/ php5dismod
.
Я натолкнулся на ту же проблему, но теперь несколько лет передали. ответ Mark Aronis корректен , но измененное программное обеспечение. Используйте это вместо этого:
sudo apt-get install php7.0-imap
sudo phpenmod imap
(Sry, я еще не могу оставить комментарии)