【问题标题】:getting output and exit status from shell_exec()从 shell_exec() 获取输出和退出状态
【发布时间】:2010-12-28 20:15:58
【问题描述】:

当做类似的事情时

$output = shell_exec("command 2>&1");

$output收集命令的stdout&stderr,有没有办法找到命令的退出状态?

可以将命令输出写入临时文件,然后附加退出状态,但这相当笨拙。有更好的建议吗?

【问题讨论】:

    标签: php


    【解决方案1】:

    正如你已经看到的,当使用 shell_exec 时,你必须用 echo $? 链接你的“真实”命令?获取退出状态:

     $output_including_status = shell_exec("command 2>&1; echo $?");
    

    但如果你想要干净的方式,那么你想使用exec 函数,它允许为此目的明确地使用第三个参数。

    【讨论】:

      【解决方案2】:

      改用exec()popen()(+ 手动处理流程)。

      【讨论】:

        【解决方案3】:

        以下对我有用 exec() 来显示输出

        exec(your_command, $output, $return_var);
        var_dump($output);
        var_dump($return_var);
        

        【讨论】:

          猜你喜欢
          • 2011-10-24
          • 2010-11-16
          • 1970-01-01
          • 2019-09-14
          • 2014-07-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多