【问题标题】:PHP echos readline on stdinPHP 在标准输入上回显 readline
【发布时间】:2012-03-26 11:39:56
【问题描述】:

我在 PHP 中使用 readline 从标准输入读取,但是当我运行文件时,PHP 会将所有输入回显给我。我正在使用它:

<file php file | otherprogram

当我在我的服务器上运行它时,它会像我预期的那样工作,但是当我在我的笔记本电脑上运行它(带有 Suhosin-Patch (cli) 的 PHP 5.3.10)时,它会将标准输入与实际输出一起输出到标准输出的脚本。这很烦人,因为我将输出传送到 otherprogram

我尝试使用输出缓冲来捕获输出,但没有奏效。

有人知道是什么原因造成的吗?

【问题讨论】:

  • 不确定你想要什么,但也许this 可能有用
  • 我正在使用内置的 readline() 函数从标准输入读取,但是当我这样做时,标准输入会打印到标准输出

标签: php stdin readline


【解决方案1】:

我知道这个问题有点过时了,但我也遇到了同样的问题。我相信两件事之一是导致它: php 中的 readline() 函数回显它接收到的输入(一次一个字符),因此它最终在预期输出之前成为“输出”。如果不是这样,bash shell 会在输入时回显输入。

我有点倾向于相信是后一种情况,因为我无法使用 PHP 的输出缓冲函数(ob_start 和 ob_end_clean)捕获 PHP 端的输出。

【讨论】:

  • >我无法使用 PHP 的输出缓冲函数(ob_start 和 ob_end_clean)捕获 PHP 端的输出。我尝试了同样的事情,结果也一样。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-26
  • 1970-01-01
  • 2010-10-07
  • 2015-10-15
  • 1970-01-01
  • 2015-12-20
相关资源
最近更新 更多