在 PHP 的 CLI 中打印 \r 到 STDOUT 一段时间后中断
Printing \r to STDOUT in PHP's CLI breaks after some time
我是 运行 来自命令行的 PHP 脚本。我使用 PHP 5.3.3(我知道是旧版本)远程访问 linux 服务器,从带有 putty 的 Windows 10 机器。为了跟踪正在发生的事情,我用伪换行符打印并覆盖了一些数据(不知道它实际上叫什么);像这样:
fwrite(STDOUT, "$incrementingVar of $staticVar, $diffVar to go\r");
这条线路每分钟会被调用几次。
启动脚本时,一切正常:每一行都在命令行界面中被覆盖。但是,一段时间后突然 \r
似乎已更改为 \n
因为每一行都写在命令行中的新行上。可以想象,这是一种令人难以置信的恼人行为。这是 bug/glitch,还是我的输出脚本中有什么地方需要改进?
你的行可能会变得很长,所以 carriage return
(\r
) 只会 return 到下一行的开头而不是上一行;尝试让你的 PuTTY-Window 变大。
我是 运行 来自命令行的 PHP 脚本。我使用 PHP 5.3.3(我知道是旧版本)远程访问 linux 服务器,从带有 putty 的 Windows 10 机器。为了跟踪正在发生的事情,我用伪换行符打印并覆盖了一些数据(不知道它实际上叫什么);像这样:
fwrite(STDOUT, "$incrementingVar of $staticVar, $diffVar to go\r");
这条线路每分钟会被调用几次。
启动脚本时,一切正常:每一行都在命令行界面中被覆盖。但是,一段时间后突然 \r
似乎已更改为 \n
因为每一行都写在命令行中的新行上。可以想象,这是一种令人难以置信的恼人行为。这是 bug/glitch,还是我的输出脚本中有什么地方需要改进?
你的行可能会变得很长,所以 carriage return
(\r
) 只会 return 到下一行的开头而不是上一行;尝试让你的 PuTTY-Window 变大。