Согласно странице руководства PHP по оболочкам ответ - нет.
php: // output
php: // output is write- только поток, который позволяет записывать в механизм выходного буфера таким же образом, как 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";
Этот скрипт выводит (проверено на PHP 5.2.13, windows):
writing to stdout directly
ob_contents: regular echo
writing to php://output directly
то есть запись в STDOUT
напрямую обходит обработчики ob.