在PHP脚本中获取OWN stderr输出的方法

时间:2012-03-13 07:09:23

标签: php stderr

我搜索了很多内容,但我发现的所有文章都是关于如何写STDERR,或者如何从STDERRexec执行的其他流程中获取shell_execproc_open等......

但我想知道,我怎么能得到自己的剧本STDERR? (我在我的CLI脚本中写了一个web-frontend,并希望将所有文件用作“黑盒子”来捕获STDERR并将JSON返回给客户端??

1 个答案:

答案 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而不是写信给它,但我不确定它的效果如何。