php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #39872 PHP from CLI headers_list() is empty
Submitted: 2006-12-18 16:56 UTC Modified: 2006-12-18 17:27 UTC
From: markjcrane at gmail dot com Assigned:
Status: Not a bug Package: CGI/CLI related
PHP Version: 5.2.0 OS: Windows XP SP2
Private report: No CVE-ID: None
 [2006-12-18 16:56 UTC] markjcrane at gmail dot com
Description:
------------
The function header() and headers_list() works as expected when run from PHP 5.1.6 run from the command line however in PHP 5.2.0 when run from the command line headers_list() is an empty array.

I'm not really sure if this was a bug or intentional. In most cases it probably is not needed for command line programs. In my case my command line program is a personal web server and I use headers_list() to find any custom PHP headers to send to the browser.

If it was removed intentionally then maybe the header() function and headers_list() should be removed from the command line interface. That way it would be consistent and the few of us that need that functionality can add it back in with identical functions written in PHP code.
Thanks for your time and help!


Reproduce code:
---------------
<?php
//could be any custom header
header("Cache-Control: no-cache"); 
print_r(headers_list());
?>

Expected result:
----------------
Array
(
    [0] => X-Powered-By: PHP/5.2.0
    [1] => Cache-Control: no-cache
)

Actual result:
--------------
Array
(
)

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2006-12-18 17:04 UTC] iliaa@php.net
Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to report
a bug at http://bugs.php.net/how-to-report.php

Because in CLI headers are not actually sent, headers_list() 
does not report them.
 [2006-12-18 17:27 UTC] markjcrane at gmail dot com
Then can header() and headers_list() be removed from the CLI? 

When the function doesn't work from the CLI does it make sense to keep it in the CLI?

Otherwise to use PHP 5.2.0 I would have to direct people to use alternative functions like myheader() and myheaders_list() for those commands. At which point their code would no longer be standard and work the same on an Apache Server or other web server.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Tue Apr 30 09:01:29 2024 UTC