PHP apache_request_headers() Function
Quick summary: The PHP apache_request_headers() function fetches all HTTP request headers from the current request.
PHP apache_request_headers() Syntax
apache_request_headers(): array
PHP
PHP apache_request_headers() Basic examples
$headers = apache_request_headers();
print_r($headers);
PHP
Output:
Array ( [Host] => example.com ... )
Returns all HTTP request headers as an associative array.
$headers = apache_request_headers();
echo $headers['User-Agent'];
PHP
Output:
Mozilla/5.0 ...
Access a specific header by name.
PHP apache_request_headers() Real-world usage
$headers = apache_request_headers();
if (isset($headers['Authorization'])) {
echo "Auth header present";
}
PHP
Output:
Auth header present
Check for API authentication header.
$headers = apache_request_headers();
$token = $headers['X-API-Token'] ?? null;
echo $token;
PHP
Output:
abc123
Read a custom header safely using null coalescing.
PHP apache_request_headers() Edge cases
if (!function_exists('apache_request_headers')) {
echo "Not available";
}
PHP
Output:
Not available
Function is only available when running under Apache.
PHP apache_request_headers() Common mistakes
Using outside Apache environment
This function does not work in CLI or non-Apache servers.
Incorrect
$headers = apache_request_headers();
Correct
$headers = $_SERVER;
Use $_SERVER or getallheaders() as fallback.
PHP apache_request_headers() Frequently Asked Questions
What does apache_request_headers() do?
Fetches HTTP request headers.
Works on all servers?
No, Apache only.
Alternative?
getallheaders().
Return type?
Associative array.
Use case?
Accessing request metadata.
Common mistake?
Using outside Apache.
Safe?
Validate headers.
Performance?
Fast.
Case sensitivity?
Headers are case-insensitive.
Used in APIs?
Yes.
Handles all headers?
Yes.
Best practice?
Use abstraction layer.