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

 ID:                 53754
 Comment by:         wiltave at gmail dot com
 Reported by:        pistole at rhp dot org
 Summary:            Modify headers_list() to return an array of set
                     headers in CLI SAPI
 Status:             Open
 Type:               Feature/Change Request
 Package:            CGI/CLI related
 Operating System:   Ubuntu Server 10.0
 PHP Version:        5.3.5
 Block user comment: N
 Private report:     N

 New Comment:

It would be useful to write unit tests. Some codes need to send headers.
Thank you.


Previous Comments:
------------------------------------------------------------------------
[2011-01-14 22:45:54] pistole at rhp dot org

Description:
------------
Calling headers_list() from the CLI version of PHP always returns an empty 
array, ignoring the results of previous calls to header(), despite the fact 
that they are already tracked internally.

As some background, I'm attempting to write a pure PHP bootstrap development 
HTTP server to help programmers easily create new development environments and 
for lightweight standalone webapps that don't need a fully featured web-server 
to deploy.

One of the things I'm trying to accomplish with this is to enable out of the 
box usage on various *nix distros and Mac OSX. The PHP-CGI SAPI is perfect for 
my project, but it isn't always installed by default (certainly not on OSX), so 
I'm attempting to make it work with the CLI version.

I've managed to work around most of the limitations I've run up against, but 
this headers_list() always returning an empty array is a complete show-stopper. 
Without being able to retrieve the list, apps that set any kind of custom 
headers (including cookies), can never work correctly.

I've attached a one-line patch to enable headers_list() to function in the CLI 
SAPI. Another (probably better) option would be to create an ini file setting 
to determine which behavior to exhibit. I'd be happy to do the dev work for 
that and submit the revised patch.


Test script:
---------------
#!/usr/bin/php
<?php
header('Location: asdf');
$list = headers_list();
var_dump($list);

Expected result:
----------------
array(2) {
  [0]=>
  string(23) "X-Powered-By: PHP/5.3.5"
  [1]=>
  string(14) "Location: asdf"
}


Actual result:
--------------
array(0) {
}



------------------------------------------------------------------------



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

Reply via email to