ID: 34744 User updated by: clewis at myfonts dot com Reported By: clewis at myfonts dot com Status: Bogus Bug Type: Output Control Operating System: Windows XP, CentOS 4 PHP Version: 5.0.5 New Comment:
christian dot mueller at dfpx dot de says: ------- I read "web server's OB" ... that is quite different from the "php OB initiated with ob_start()" as reported in this Bug. ------- I (original submitter) say: It looks like I should be using passthru() instead of system(). Nonetheless it is confusing that system() completely ignores the PHP output buffer. Previous Comments: ------------------------------------------------------------------------ [2005-10-05 23:07:24] [EMAIL PROTECTED] RTFM: "The system() call also tries to automatically flush the web server's output buffer after each line of output if PHP is running as a server module." ------------------------------------------------------------------------ [2005-10-05 22:06:13] clewis at myfonts dot com I'm using Apache 2 APXS module on both Windows XP SP2 and CentOS 4.1 (like RHEL 4), if that helps. ------------------------------------------------------------------------ [2005-10-05 21:37:40] [EMAIL PROTECTED] Not enough information was provided for us to be able to handle this bug. Please re-read the instructions at http://bugs.php.net/how-to-report.php If you can provide more information, feel free to add it to this bug and change the status back to "Open". Thank you for your interest in PHP. ------------------------------------------------------------------------ [2005-10-05 20:53:56] clewis at myfonts dot com Description: ------------ Calling the system() function forces the standard Content-type: text/html header output, even when output buffering is on. This behaviour is unlike other output commands such as print, which suppress the "automatic" headers until the output buffer is flushed. Note that replacing system() with print() in the sample code works as expected. Reproduce code: --------------- <?php ob_start(); chdir("/"); system("ls"); ob_end_clean(); header("Content-type: text/plain"); print "Hello World."; ?> Expected result: ---------------- Content-type: text/plain Hello World. Actual result: -------------- Content-type: text/html Warning: Cannot modify header information - headers already sent... Hello World. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=34744&edit=1