Php 回波是否等于FPUT(标准输出)?
Php 回波是否等于FPUT(标准输出)?,php,stream,stdout,Php,Stream,Stdout,echo是否等于fputs(STDOUT),或者echo是否写入不同的流?我使用PHP已经有一段时间了,但我不太清楚在较低的级别上实际发生了什么。根据,答案是否定的 php://output php://output 是一个只写流,允许您向 输出缓冲机制与print()和echo()的方式相同 print和echo写入php://output流,而fputs(STDOUT)写入php://stdout 我做了一个小测试: <?php $output = fopen('php://outp
echo
是否等于fputs(STDOUT)
,或者echo
是否写入不同的流?我使用PHP已经有一段时间了,但我不太清楚在较低的级别上实际发生了什么。根据,答案是否定的
php://output
php://output 是一个只写流,允许您向
输出缓冲机制与print()和echo()的方式相同
print
和echo
写入php://output
流,而fputs(STDOUT)
写入php://stdout
我做了一个小测试:
<?php
$output = fopen('php://output', 'w');
ob_start();
echo "regular echo\n";
fwrite(STDOUT, "writing to stdout directly\n");
fwrite($output, "writing to php://output directly\n");
$ob_contents = ob_get_clean();
print "ob_contents: $ob_contents\n";
i、 e.写入标准输出时直接绕过ob处理程序。标准输出的默认存储位置通常在哪里?例如,STDERR写入
C:\xampp\apache\logs\error.log
但STDOUT似乎“丢失”。STDOUT将存储在/path/subdirectory/file-store.txt中,或者使用echo或print
writing to stdout directly
ob_contents: regular echo
writing to php://output directly