Edit report at https://bugs.php.net/bug.php?id=42197&edit=1
ID: 42197 Updated by: cwei...@php.net Reported by: cwei...@php.net Summary: header() cannot be used after echo on CLI -Status: Not a bug +Status: Open Type: Feature/Change Request Package: *General Issues Operating System: Linux PHP Version: 5.2.4RC1 Block user comment: N Private report: N New Comment: Using ob_start() is a workaround, not a fix. Also, error messages are hidden when using ob_start(). Previous Comments: ------------------------------------------------------------------------ [2013-06-27 22:41:26] yohg...@php.net Just use ob_start(). $ ./sapi/cli/php <?php ob_start(); echo 'a'; header('sadf'); ?> a ------------------------------------------------------------------------ [2007-08-04 14:03:29] j...@php.net Reclassified. ------------------------------------------------------------------------ [2007-08-03 09:53:44] cwei...@php.net Description: ------------ When issuing a header() call in a php command line script (php cli) after I used 'echo', the message 'headers already sent' pops up. It should be possible to use header(), session_id_generate() and other session related functions after outputting something on CLI - since headers are not sent on cli. (The use case we have is unit-testing packages on cli) Reproduce code: --------------- <?php echo 'a'; header('sadf'); ?> Expected result: ---------------- a Actual result: -------------- a Warning: Cannot modify header information - headers already sent by (output started at /data/cvs/pear/sessionbug.php:2) in /data/cvs/pear/sessionbug.php on line 3 Call Stack: 0.0003 83688 1. {main}() /data/cvs/pear/sessionbug.php:0 0.0006 83988 2. header() /data/cvs/pear/sessionbug.php:3 ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=42197&edit=1