#49688 [Opn->Csd]: ob_start() does not capture output to STDOUT
| From: | vrana@php.net | Date: | Fri, 13 Nov 2009 21:47:30 +0000 |
| Subject: | #49688 [Opn->Csd]: ob_start() does not capture output to STDOUT | ||
| References: | 1 | Groups: | php.doc.bugs |
| Request: | Send a blank email to doc-bugs+get-3141@lists.php.net to get a copy of this message | ||
ID: 49688
Updated by: vrana@php.net
Reported By: ch at lathspell dot de
-Status: Open
+Status: Closed
Bug Type: Documentation problem
Operating System: Linux
PHP Version: 5.3.0
New Comment:
This bug has been fixed in the documentation's XML sources. Since the
online and downloadable versions of the documentation need some time
to get updated, we would like to ask you to be a bit patient.
Thank you for the report, and for helping us make our documentation
better.
Previous Comments:
------------------------------------------------------------------------
[2009-09-27 21:39:46] jani@php.net
Using php://stdout means you're by-passing output buffering
intentionally. Perhaps a note or two could be in order in the docs..
------------------------------------------------------------------------
[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