PHP shell_exec() - 详细输出?

标签 php command-line codeception

我有一个 Codeigniter 项目,它使用 Codeception 进行验收测试。我在 Codeigniter 中有一个“工具” Controller 设置,我用它来存储执行各种实用功能的命令行方法。

在本例中,我正在创建一个实用程序方法,用于设置测试环境、切换数据库、构建/运行测试等。

我正在使用 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"); 
}

最佳答案

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

关于PHP shell_exec() - 详细输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28886108/

相关文章:

PHP LDAPS 连接到 AD

php - ssl 证书问题 : unable to get local issuer certificate xampp

bash - std::process:Command 在使用 'bash -c' 时不返回 Err() 结果

php - 代码接收中的文件上传错误?

php - xdebug、远程服务器上的 php、netbeans

javascript - PHPExcel_Reader_Exception 被识别为 OLE 文件

Powershell:为什么我需要转义 $args 中的双破折号参数?

c - 破折号和 C : eval "$(<cmdfile)" and system ("eval\"\$(<cmdfile)\"") giving different results

php - MySQL 数据库事务中的 Codeception 验收测试

codeception - codeception 中的fillField 方法不工作抛出DOMXPath::query():无效的表达式