2016-05-25 2 views
3

С обновлением до PHP7 каждого скрипта на моем сервере с помощью функции почты PHP больше не работает :-(PHP почта()/Sendmail не работает с Apache 2.4 PHP7 обновления

В то же время, я также повышен с Apache 2.2 до 2.4, и у меня есть чувство, что это, возможно, где проблема лежит

Мой файл php.ini содержит:.

sendmail_path = /usr/sbin/sendmail -t -I 

Sendmail делает отправить электронную почту, если я пытаюсь из командной строки, так что я я знаю, что это работает. Я нашел ошибку, которая, я считаю, связана с Apa че и разрешения в exim_paniclog:

удалось установить GID = 995 или UID = 0 (EUID = 0): форсирование реального = эффективная

Я надеюсь, что кто-то может прийти на эту проблему и может возможно, пролил некоторый свет на это для меня. Заранее спасибо!

+2

Вы уверены, что PHP5 и PHP7 использовать один и тот же файл php.ini? Правильный ли sendmail_path появляется в выводе, если вы запустите 'phpinfo();'? –

+0

Привет, Мэтт. Ниже ответ решил это для меня. Да phpinfo() действительно показал правильный путь. Спасибо за ваш вклад. – KingRidgehead

ответ

3

Три вещи, чтобы попробовать:

1) в Exim, установите trusted_users = apache (или любой ваш пользователь веб-сервер).

2) Попробуйте отключить SELinux и переложить все. Если он работает сейчас, но не работал ранее, вам нужно либо отключить SELinux, либо узнать, как его настроить, чтобы разрешить то, что вам нужно.

3) См. http://blog.gaiterjones.com/send-php-mail-ubuntu-upgrade/. Явное определение параметров модуля LimitGIDRange ITK MPM в /etc/apache2/mods-available/mpm_prefork.conf конфигурации модуля к чему-то вроде

LimitUIDRange 0 2000 
+0

Скорее всего, вариант 3) - тот, который нужно использовать. См. Также https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=797653 (он отмечен как ошибка, но wontfix) –

+0

Спасибо, Крис! Ты звезда. Фактически, пункт 3 решил это для меня. Я очень ценю вашу помощь :-) – KingRidgehead

Смежные вопросы