我搜索了很多内容,但我发现的所有文章都是关于如何写STDERR
,或者如何从STDERR
,exec
执行的其他流程中获取shell_exec
,proc_open
等......
但我想知道,我怎么能得到自己的剧本STDERR
?
(我在我的CLI脚本中写了一个web-frontend,并希望将所有文件用作“黑盒子”来捕获STDERR
并将JSON
返回给客户端??
答案 0 :(得分:1)
创建自己的错误处理程序并在任何地方编写内容:
$log = array();
set_error_handler(function ($no, $str, $file, $line, array $context) use ($log) {
$message = "$no: $str in $file on line $line";
$log[] = $message;
fwrite(STDERR, $message);
});
您可能会尝试阅读STDERR
而不是写信给它,但我不确定它的效果如何。