PHP向STDERR写入大量文本



在PHP中将大块写入STDOUT时,可以执行以下操作:

echo <<<END_OF_STUFF
lots and lots of text
over multiple lines
etc.etc
END_OF_STUFF;

(即heredoc

除了STDERR,我也需要做类似的事情。是否有其他类似echo但使用STDERR的命令?

对于简单的解决方案,请尝试此

file_put_contents('php://stderr', 'This text goes to STDERR',FILE_APPEND);

FILE_APPEND参数将附加数据,而不是覆盖数据。您也可以使用fopenfwrite函数直接写入错误流。

更多信息请访问-http://php.net/manual/en/features.commandline.io-streams.php

是,使用php://stream包装器:http://php.net/manual/en/wrappers.php.php

$stuff = <<<END_OF_STUFF
lots and lots of text
over multiple lines
etc.etc
END_OF_STUFF;
$fh = fopen('php://stderr','a'); //both (a)ppending, and (w)riting will work
fwrite($fh,$stuff);
fclose($fh);

在CLI SAPI中,它可以简单到将Heredoc字符串作为参数传递给具有STDERR常量的fwrite()

fwrite(STDERR, <<< EOD
Example of string
spanning multiple lines
using heredoc syntax.
EOD
);

相关内容

  • 没有找到相关文章

最新更新