Freebsd 9.0, php 5.3.8
Все поставлено с портов, все работает.
В php.ini внесены настройки корректного почтового сервера.При попытке отправки почты:
mail($to, $subject, $message, $headers)в ответ письмо отправляется и доставляется, но в странице и в логах :
Warning: mail(/var/log/) [function.mail]: failed to open stream: Is a directory in /usr/local/www/apache22/data/test/send_mail.php on line 32
По гуглю нашел, что проблема из-за отсутствия/проблем с записью для файла /var/log/php_mail.log - создал, дал 775, проблема осталась.
failed to open stream: Is a directory
failed to open stream: Is a directory
failed to open stream: Is a directory
failed to open stream: Is a directory
failed to open stream: Is a directory
> failed to open stream: Is a directory
> failed to open stream: Is a directory
> failed to open stream: Is a directory
> failed to open stream: Is a directory
> failed to open stream: Is a directoryПроверь, кто владелец фвйла - это должен быть user, под которым бежит вебсервер !
>> failed to open stream: Is a directory
>> failed to open stream: Is a directory
>> failed to open stream: Is a directory
>> failed to open stream: Is a directory
>> failed to open stream: Is a directory
> Проверь, кто владелец фвйла - это должен быть user,
> под которым бежит вебсервер !Владелец файла /var/log/php_mail.log - пользователь www, под которым крутится httpd.
php поднят как модуль для апача.
Сделал даже 777 на файл - одинаково ошибка остается...
>>> failed to open stream: Is a directory
>>> failed to open stream: Is a directory
>>> failed to open stream: Is a directory
>>> failed to open stream: Is a directory
>>> failed to open stream: Is a directory
>> Проверь, кто владелец фвйла - это должен быть user,
>> под которым бежит вебсервер !
> Владелец файла /var/log/php_mail.log - пользователь www, под которым крутится httpd.
> php поднят как модуль для апача.
> Сделал даже 777 на файл - одинаково ошибка остается...Разобрался. В php.ini нашел раскомментированную директиву mail.log.
Согласно документации это "Путь к лог-файлу, в который будут записываться все вызовы функции mail(). Записи в логе содержат полный путь до скрипта, номер строки, адрес получателя To и заголовки".
Эта же директива была раскоменчена в php.ini-development, с которого делал оригинальный php.ini.
Указал полный путь к файлу логов почты - проблема исчезла.
На виртуалке накатил свежий порт - там директива уже в каменте.
Наверно мейнтейнер порта накосячил...