【发布时间】:2011-11-23 09:12:11
【问题描述】:
可能重复:
How can I know the error in command in an exec function?
我只是想知道是否有办法(使用PHP)将编译错误信息从终端输出到浏览器?
例如: 如果你使用这段代码在终端执行...
gcc -o try try.c
...并假设“try.c”有一些错误。 终端会输出如下内容:
- try.c 在函数'main'中:
- try.c:27 'x' 未声明(在此函数中首次使用)
- try.c:27(每个未声明的标识符只报告一次
- try.c:27 为它出现的每个函数。)
同时,使用这个 PHP 代码...
<?php
exec("gcc -o try try.c");
?>
浏览器不会像终端那样返回任何输出。是否有可能直接或间接的方式将终端显示的错误详细信息传递给在浏览器上显示?
非常感谢。
【问题讨论】:
-
有 STDOUT 和 STDERR。您描述的输出最有可能在 STDERR 上。捕获 STDERR 并返回它。
-
@hakre 重复的重复
-
使用
proc_open()获取 STDERR 的管道。
标签: php compiler-errors terminal web