Я получаю это предупреждение, отправляя письма с php Warning: mail (1) [function.mail]: не удалось открыть поток: Permission denied in / home / …
Разрешение лишено чего?
Даже призывая что-то простое
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