在由composer 脚本调用的命令中使用ProgressBar 组件没有任何效果,因为 ProgressBar 输出未显示。
为什么是这样?有没有办法强制其渲染?
更新:现在(自从升级到 symfony 2.6)它显示出来了,但是控制台刷新不能正常工作,并且每次更新都会添加一个新行......
在由composer 脚本调用的命令中使用ProgressBar 组件没有任何效果,因为 ProgressBar 输出未显示。
为什么是这样?有没有办法强制其渲染?
更新:现在(自从升级到 symfony 2.6)它显示出来了,但是控制台刷新不能正常工作,并且每次更新都会添加一个新行......
确保您使用的是组件的最新版本。使用以下代码段检查栏是否正确:
<?php
$max=10;
$progress = new ProgressBar($output, $max);
$progress->start();
for ($i = 0; $i <= $max; ++$i) {
sleep(1);
$progress->advance();
}
$progress->finish();
如果是这种情况,您在每$progress->advance();
一步之间执行的任务似乎会写一些东西来输出,这会使每一步都重新绘制条形图。