nixp.ru v3.0

23 октября 2017,
понедельник,
09:25:56 MSK

DevOps с компанией «Флант»
Аватар пользователя Vlad Borovcov
Vlad Borovcov написал 4 июня 2010 года в 09:42 (1993 просмотра) Ведет себя как благородный джентельмен; открыл 35 тем в форуме, оставил 70 комментариев на сайте.

Доброго времени суток!

В с целью повышения производительности, решил отказаться от apache  принцепе. Использую nginx, а пхп работает через fastcgi.

В php перестала работать функция mail. при этом, если выполнить php-cgi script_name.php из консоли, то почта отправляется и приходит туда куда надо. А если через веб обратиться к этому скрипту, то ни ошибок ни почты.

В чём может быть проблема?

Дмитрий Шурупов

Может быть, проблема в правах? (У пользователя, под которым запускается php в nginx+fcgi, не хватает прав на обращение к sendmail/куда-то там еще, а при запуске из консоли у соответствующего пользователя такие права есть.)

Vlad Borovcov

Возможно. nginx и пхп работают с правами nginx:nginx. А из коносли я почту пытался отправлять из под рута.

А как можно проверить привелегии? И где задаются привелегии доступа к утилите /usr/bin/sendmail?

Плюс, я думаю, если бы не хватало прав, я мог бы видеть это в логах, т.к. в данный момент у меня стоит уровень логгирования — debug…

Vlad Borovcov

Всё, разобрался. Большое спасибо Дмитрию Шурупову за намек относительно привелегий.

Проблема была в том, что у пользователя nginx стояла домашняя директория /dev/null, это было задано portage автоматически. А nbsmtp почему то там пытался что-то искать, как было выяснено с помощью strace.

Проблему решил утём назначения пользовател nginx существующей домашней директории.

Тему можно закрыть.