PHP shell_exec() - 详细输出?

时间:2015-03-05 19:29:45

标签: php command-line codeception

我有一个使用Codeception进行验收测试的Codeigniter项目。我有一个'工具' Codeigniter中的控制器设置,用于存储执行各种实用程序功能的命令行方法。

在这种情况下,我创建了一个实用程序方法来设置测试环境,切换数据库,构建/运行测试等。

我使用PHP函数shell_exec()来运行codception命令。他们正在工作,但是当shell_exec()发出`php codecept.phar run'命令,它不提供详细输出。它等待所有测试完成(这需要很长时间),然后在最后吐出所有输出。

有没有办法让shell_exec()在收到输出时打印输出?

示例代码:

public function run_tests() 
{ 
     $this->load->database('testing'); 
     echo shell_exec("cd ..; php codecept.phar build"); 
     echo shell_exec("cd ..; php codecept.phar run"); 
}

1 个答案:

答案 0 :(得分:1)

使用passthru,它将命令的输出直接流式传输到响应流。