[英]Output a STDERR for PHP errors without changing php.ini
我有一些 PHP 脚本通过 CRON 每分钟运行一次。 我不想在每次它们正常运行时都收到电子邮件,但如果它们抛出错误(例如,如果它们使用太多内存),我确实希望收到 email。
要运行 CRON:
仅当stderr
的结果不是 null 时,即存在标准错误时,这应该发送 email。
但是, PHP 错误不会创建stderr
,而是包含在stdout
中,因此不会发送 email 。
我已尝试将display_errors
设置为stderr
,如本问题所示,但这是一个不同的用例,因为脚本不是由 CRON 运行的。 我尝试了以下没有奏效的方法:
将其包含在脚本本身中不起作用,因为致命错误意味着脚本无法运行:
ini_set ('display_errors', 'stderr');
将其包含在 .htaccess 文件中(注意 PHP FPM 被使用)不起作用 - 我不知道为什么:
php_flag display_errors stderr
更改 php.ini 文件不是一个选项,因为我不希望更改影响整个站点,只影响几个文件。
所以我的问题是 - 如何将 PHP 错误发送到stderr
,以便我可以通过 email 接收它们?
php
可执行文件采用命令行选项 - 您可以指定它应该使用哪个php.ini,或者通过-d
参数设置特定的配置选项。
https://www.php.net/manual/en/features.commandline.options.php
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.