PHP
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

apache_setenv> <apache_reset_timeout
Last updated: Fri, 27 Jun 2008

view this page in

apache_response_headers

(PHP 4 >= 4.3.0, PHP 5)

apache_response_headers — Fetch all HTTP response headers

Description

array apache_response_headers ( void )

Fetch all HTTP response headers.

Return Values

An array of all Apache response headers on success, or FALSE on failure.

Examples

Example #1 apache_response_headers() example

<?php
print_r
(apache_response_headers());
?>

The above example will output something similar to:

Array
(
    [Accept-Ranges] => bytes
    [X-Powered-By] => PHP/4.3.8
)

Notes

Note: As of PHP 4.3.3 you can use this function with the NSAPI server module in Netscape/iPlanet/SunONE webservers, too.



apache_setenv> <apache_reset_timeout
Last updated: Fri, 27 Jun 2008
 
add a note add a note User Contributed Notes
apache_response_headers
Daniel Lorch
24-May-2007 12:53
Addendum: The code

<pre>
<?php
  print_r
(apache_request_headers());
?>
</pre>

gives me

 Array
 (
    [X-Powered-By] => PHP/5.1.6
 )

But the code
<pre>
<?php
  ob_end_flush
();
 
print_r(apache_request_headers());
?>
</pre>

Results in

 Array
 (
    [Content-Location] => phpinfo.de.php
    [Vary] => negotiate
    [TCN] => choice
    [X-Powered-By] => PHP/5.1.6
    [Keep-Alive] => timeout=15, max=96
    [Connection] => Keep-Alive
    [Transfer-Encoding] => chunked
    [Content-Type] => text/html
    [Content-Language] => de
 )
Daniel Lorch
24-May-2007 12:46
I can confirm athlet's experience with apache_response_headers() using PHP 5.1.6. When the resulting array is empty or only contains "X-Powered-By" instead of the full list of values, you'll need to switch off output_buffering _before_ the script has been executed, for example with the following directive in .htaccess:

php_value "output_buffering" "0"

it _doesn't_ work when you do a you ini_set('output_buffering', 0); in your script. Not sure why that is so - it is not a bug in PHP, but probably has to do with how Apache populates the request values.
athlet
01-Feb-2006 12:37
For apache_response_headers() working good, you need to set  up output_buffering = Off in php.ini
orange
05-Sep-2005 11:17
If apache_response_headers() returns an empty array, try calling flush() before and it'll get filled.

apache_setenv> <apache_reset_timeout
Last updated: Fri, 27 Jun 2008
 
 
show source | credits | sitemap | contact | advertising | mirror sites