1

在由composer 脚本调用的命令中使用ProgressBar 组件没有任何效果,因为 ProgressBar 输出未显示。

为什么是这样?有没有办法强制其渲染?


更新:现在(自从升级到 symfony 2.6)它显示出来了,但是控制台刷新不能正常工作,并且每次更新都会添加一个新行......

4

1 回答 1

1

确保您使用的是组件的最新版本。使用以下代码段检查栏是否正确:

<?php
$max=10;
$progress = new ProgressBar($output, $max);
$progress->start();

for ($i = 0; $i <= $max; ++$i) {
 sleep(1);
 $progress->advance();
}
$progress->finish();

如果是这种情况,您在每$progress->advance();一步之间执行的任务似乎会写一些东西来输出,这会使每一步都重新绘制条形图。

于 2015-05-11T10:12:52.870 回答