PHP 8.6.0 Beta 1 is available for testing

apache_response_headers

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

apache_response_headersRecupera todos los encabezados de respuesta HTTP

Descripción

function apache_response_headers(): array

Recupera todos los encabezados de respuesta HTTP. Funciona con los servidores web Apache, LiteSpeed, FastCGI, CLI y FPM.

Parámetros

Esta función no contiene ningún parámetro.

Valores devueltos

Un array de todos los encabezados de respuesta de Apache en caso de éxito.

Ejemplos

Ejemplo #1 Ejemplo con apache_response_headers()

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

Resultado del ejemplo anterior es similar a:

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

Véase también

Found A Problem?

Learn How To Improve This PageSubmit a Pull RequestReport a Bug
+add a note

User Contributed Notes 6 notes

up
1
Isaac Z dot Schlueter i at foohack dot com
17 years ago
This function doesn't exist on lighttpd, so I wrote this little function to emulate it:
<?php
if (!function_exists('apache_response_headers')) {
 function apache_response_headers () {
 $arh = array();
 $headers = headers_list();
 foreach ($headers as $header) {
 $header = explode(":", $header);
 $arh[array_shift($header)] = trim(implode(":", $header));
 }
 return $arh;
 }
}
?>
up
0
Daniel Lorch
19 years ago
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
 )
up
-1
orange
20 years ago
If apache_response_headers() returns an empty array, try calling flush() before and it'll get filled.
up
-2
php at mailplus dot pl
15 years ago
I get "Call to undefined function apache_response_headers()" when using php-cli so be aware of lack of this function CLI.
In my case I was trying to test my app via phpunit (command line tool of course ;)) if it sends proper headers.
up
-2
athlet
20 years ago
For apache_response_headers() working good, you need to set up output_buffering = Off in php.ini
up
-2
Daniel Lorch
19 years ago
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.
+add a note

AltStyle によって変換されたページ (->オリジナル) /