У меня есть несколько PHP скриптов, которые запускаются каждую минуту через CRON. Я не хочу получать электронные письма каждый раз, когда они работают правильно, но я хочу получать электронные письма, если они выдают ошибку (например, если они используют слишком много памяти).
Для запуска CRON:
-
-
-
-
- php myscript. php> / dev / null
Это должно отправлять электронное письмо, только если результат stderr
не равен нулю, т.е. когда есть стандартная ошибка .
Однако ошибки PHP не создают stderr
, вместо этого они включаются в stdout
, поэтому электронное письмо не отправляется.
Я пробовал установить display_errors
на stderr
, как показано в этом вопросе , но это другой вариант использования, поскольку скрипты не запускаются CRON. Я пробовал следующее, что не помогло:
включение этого в сам скрипт не работает, потому что фатальные ошибки означают, что скрипт не запускается:
ini_set ('display_errors', 'stderr');
включая это в файл .htaccess (примечание PHP используется FPM) не работал - я не уверен, почему:
php_flag display_errors stderr
Изменение файла php .ini не является вариантом, потому что я не Я не хочу, чтобы изменение повлияло на весь сайт, всего на несколько файлов.
Итак, мой вопрос - как можно отправить PHP ошибки на stderr
, чтобы я мог получать их по электронной почте?