php - 使用PHP的exec()函数(或类似函数),如何显示终端错误输出?

这个问题已经在这里有了答案:




9年前关闭。




Possible Duplicate:
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"); ?>
    浏览器不会像终端一样返回任何输出。是否有可能直接或间接地将终端显示的错误详细信息传递给在浏览器上显示的错误信息?

    非常感谢你。

    最佳答案

    正如@hakre在评论中指出的那样-您可以直接重定向STDERR流,但这是另一个解决方案:

    exec('command here', $output, $exit_status);
    if ($exit_status !== 0) echo implode('<br />', $output);
    

    如果执行成功-每个程序应返回退出状态0,而其他任何代码均应表示某种错误。

    https://stackoverflow.com/questions/8239598/

    相关文章:

    android - Dalvik格式失败,在ServerAssistant上出现错误1

    android - 在 Android 中初始化一个大的常量数据结构

    iphone - 编译我的应用程序没有错误,但是在设备上编译时挂起

    ios - Amazon IOS SDK : compiler warnings - ARC iss

    java - 编译Java项目时出错

    asp.net - 加载共享类库时出错

    java - 复选框编译错误

    visual-studio-2010 - 未注册库时,无法使用引用的TLB编译.NET应用程序

    .net - 错误: “Expression must have class type” C++/C

    android - Android Intent使用情况(Call_action和new_task_