为了账号安全,请及时绑定邮箱和手机立即绑定

Laravel 命令执行输出

Laravel 命令执行输出

PHP
一只名叫tom的猫 2023-04-02 10:33:29
我正在尝试制作 artisan 命令,它将执行一个无休止的脚本(更准确地说,它是一个 gulp watch 命令)。是否可以实时输出一些东西到控制台而不是等待脚本结束?exec($basedir . "test.sh", $output);foreach ($output as $item) {    $this->info($item);}test.sh看起来像这样(为简洁起见缩短):echo "something"echo "something else"gulp watch由于命令实际上并未结束,因此我无法检索其中运行的两个回声。有办法吗?
查看完整描述

1 回答

?
米脂

TA贡献1836条经验 获得超3个赞

我已经通过执行以下操作解决了它:


while (@ ob_end_flush()) ; // end all output buffers if any


// this section streams output to terminal 

$proc = popen($basedir . "test.sh", 'r');

while (!feof($proc)) {

    $this->info(fread($proc, 4096));

    @ flush();

}


查看完整回答
反对 回复 2023-04-02
  • 1 回答
  • 0 关注
  • 140 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信