在一段时间后在PHP的CLI中打印\ r到STDOUT

问题描述:

我从命令行运行PHP脚本。我用带有腻子的Windows 10机器远程访问带有PHP 5.3.3(旧版本,我知道)的Linux服务器。为了跟踪正在发生的事情,我使用伪换行符来打印和覆盖一些数据(不知道它实际称为什么);像这样:在一段时间后在PHP的CLI中打印 r到STDOUT

fwrite(STDOUT, "$incrementingVar of $staticVar, $diffVar to go\r"); 

这条线将被称为每分钟几次。

启动脚本时,一切正常:每行都覆盖在命令行界面中。但是,突然之后,\r突然变为\n,因为每行都在命令行中写入新行。你可以想象,这是令人难以置信的烦人行为。这是一个错误/毛刺,还是我的输出脚本中应该改进的东西?

+0

除了答案之外,如果其中一个有换行符,您可能需要“修剪()”变量。 – AbraCadaver

您的行可能会变长,所以carriage return\r)将只返回到下一行的开头,而不是前一行;尽量让你的PuTTY-Window更大。