PHP shell_exec() - 详细输出?
PHP shell_exec() - Verbose Output?
我有一个使用 Codeception 进行验收测试的 Codeigniter 项目。我在 Codeigniter 中设置了一个 'tools' 控制器,我用它来存储执行各种实用功能的命令行方法。
在这种情况下,我正在创建一个实用程序方法来设置测试环境、切换数据库、构建/运行s 测试等。
我正在使用 PHP 函数 shell_exec()
来 运行 codception 命令。他们正在工作,但是当 shell_exec()
发出 `php codecept.phar 运行' 命令时,它没有提供详细的输出。它会等到所有测试都完成(这需要很长时间),然后在最后吐出所有输出。
有没有办法让 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
,它将命令的输出直接流式传输到响应流。
我有一个使用 Codeception 进行验收测试的 Codeigniter 项目。我在 Codeigniter 中设置了一个 'tools' 控制器,我用它来存储执行各种实用功能的命令行方法。
在这种情况下,我正在创建一个实用程序方法来设置测试环境、切换数据库、构建/运行s 测试等。
我正在使用 PHP 函数 shell_exec()
来 运行 codception 命令。他们正在工作,但是当 shell_exec()
发出 `php codecept.phar 运行' 命令时,它没有提供详细的输出。它会等到所有测试都完成(这需要很长时间),然后在最后吐出所有输出。
有没有办法让 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
,它将命令的输出直接流式传输到响应流。