Laravel 命令执行输出
Laravel command exec output
我正在尝试制作一个 artisan 命令,它会执行一个无休止的脚本(更准确地说,它是一个 gulp watch 命令)。是否可以实时输出一些东西到控制台而不是等待脚本结束?
exec($basedir . "test.sh", $output);
foreach ($output as $item) {
$this->info($item);
}
test.sh
看起来像这样(为简洁起见缩短):
echo "something"
echo "something else"
gulp watch
由于命令实际上并没有结束,我无法在其中检索到两个回显 运行。有办法吗?
我已通过执行以下操作解决了该问题:
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();
}
我正在尝试制作一个 artisan 命令,它会执行一个无休止的脚本(更准确地说,它是一个 gulp watch 命令)。是否可以实时输出一些东西到控制台而不是等待脚本结束?
exec($basedir . "test.sh", $output);
foreach ($output as $item) {
$this->info($item);
}
test.sh
看起来像这样(为简洁起见缩短):
echo "something"
echo "something else"
gulp watch
由于命令实际上并没有结束,我无法在其中检索到两个回显 运行。有办法吗?
我已通过执行以下操作解决了该问题:
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();
}