Edit report at https://bugs.php.net/bug.php?id=42197&edit=1

 ID:                 42197
 Updated by:         yohg...@php.net
 Reported by:        cwei...@php.net
 Summary:            header() cannot be used after echo on CLI
-Status:             Open
+Status:             Not a bug
 Type:               Feature/Change Request
-Package:            Feature/Change Request
+Package:            *General Issues
 Operating System:   Linux
 PHP Version:        5.2.4RC1
 Block user comment: N
 Private report:     N

 New Comment:

Just use ob_start(). 

$ ./sapi/cli/php
<?php
ob_start();
echo 'a';
header('sadf');
?>

a


Previous Comments:
------------------------------------------------------------------------
[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

Reply via email to