Добрый день!
Комп на ОС CentOS 6.10.
Есть php-файл, который должен выполнить некоторый код, сформировать файл и послать его по почте с помощью консольного почтового клиента "email".
Запуск этого файла командой
/usr/bin/php -f /path-to-script/sendreport.php успешен. Мне приходит письмо с прикреплённым файлом.
Решил поместить эту команду в crontab:
то возникает проблема, которая выражается в том, что файл, который должен сформировать код в php-файле, не формируется или формируется, но не сохраняется, а так же не приходит письмо.
Моё предположение - это то, что при выполнении файла через cron не хватает каких-то данных их окружения (переменные среды или типа того).
В PHP скрипте, помимо всего описанного, есть запрос к БД MySQL, а консольный почтовый клиент вызывается через exec0.
Вот та часть кода, которая не выполняется 100%:
$fh = fopen($filename, 'w');
fwrite($fh, $result);
fclose($fh);
// $result - содержит код, который будет помещён в файл.
exec("/bin/echo 'Отчёт по исходящим вызовам' | /usr/local/bin/email -f no-reply@domain.ru -a " . $filename . " -n 'Report System' -s 'Отчёт по исходящим вызовам' -r mail.domain.ru -p 25 -m login -u no-reply@domain.ru -i PASSWORD admin@domain.ru");
Если по поводу переменных окружения я прав, то подскажите как их добавить и куда, чтобы всё заработало?
Спасибо.