mail: не удалось открыть поток: Permission denied?

Я получаю это предупреждение, отправляя письма с php Warning: mail (1) [function.mail]: не удалось открыть поток: Permission denied in / home / …

  • используя ssmtp и gmail в качестве smtp
  • PHP 5.3.1
  • ничего в журналах (без ошибок)
  • почта добирается до места назначения
  • разрешениями файлов являются rwxrxrx

Разрешение лишено чего?

Даже призывая что-то простое

mail ("mail@domain.com", "subject", "body");

Я все еще получаю это предупреждение

Проблема заключается в том, что пользователь веб-сервера не может писать и / или читать файл журнала почты. Для конфигурации пропеллера:

1) создайте папку и файл для ведения журнала электронной почты. Например:

 touch /var/log/php5/mail.log 

2) установить файл регистрации в php.ini:

 mail.log = /var/log/php5/mail.log 

3) установить владельца и группу для этой папки / файла в случае необходимости:

проверьте владельца и группу с помощью

 ls -la /var/log/php5 

в случае необходимости, измените группу (измените www-данные для любой группы вашего веб-сервера)

 sudo chgrp -R www-data /var/log/php5 

в случае необходимости, изменить владельца (изменить www-данные для любого пользователя вашего веб-сервера)

 sudo chown -R www-data /var/log/php5 

Это работает, если вы упростите это?

  $mail_sent = mail('address@domain.com', 'subject', 'message'); 

Если это так, то вы знаете, что почта работает.

После этого я удаляю файл $ eol и вижу, исправляет ли он это. Если нет, то я удаляю блок заголовка и продолжаю удалять файлы до тех пор, пока он не начнет работать.

В конце концов, это проблемы с правами доступа к файлам. Но не в скриптах, а в каталоге. Я запустил chmod -R 777 * и предупреждение прошло. после дальнейшего изучения я нашел файл с именем 1 , и этот файл содержал журнал отправленных писем. Предупреждение php сообщило мне, что он не смог открыть этот файл

Решение:

  sudo chmod -R 755 * sudo chmod 777 1 

F # $% ^% сообщений об ошибках cryptic php