#49688 [Opn]: ob_start() does not capture output to STDOUT

From: Date: Sun, 27 Sep 2009 21:39:47 +0000
Subject: #49688 [Opn]: ob_start() does not capture output to STDOUT
References: 1  Groups: php.doc.bugs 
Request: Send a blank email to doc-bugs+get-2828@lists.php.net to get a copy of this message
ID: 49688 Updated by: jani@php.net Reported By: ch at lathspell dot de Status: Open -Bug Type: Output Control +Bug Type: Documentation problem Operating System: Linux PHP Version: 5.3.0 New Comment: Using php://stdout means you're by-passing output buffering intentionally. Perhaps a note or two could be in order in the docs.. Previous Comments: ------------------------------------------------------------------------ [2009-09-27 18:54:52] ch at lathspell dot de Description: ------------ Output buffering does capture the output of print() and echo() but apparently not anything that goes to STDOUT (php://stdout) via fwrite(). That should preferably be fixed or at least be documented. Reproduce code: --------------- $ cat t.php <?php error_reporting(E_ALL); ob_start(); echo "does work\n"; $f = fopen('php://stdout', 'w'); fwrite($f, "does not work\n"); fclose($f); $v = ob_get_contents(); ob_end_clean(); print("CAPTURED: $v\n"); Expected result: ---------------- $ php t.php CAPTURED: does not work does work Actual result: -------------- $ php t.php does not work CAPTURED: does work ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=49688&edit=1

« previous php.doc.bugs (#2828) next »