I write an API with PHP ZF2 they use HTTP Authorization. I fetch all HTTP Headers with apache_request_headers() (also tested with ZF2's $this->getRequest()->getHeaders()).
It works on my locale installed version. But on my server the HTTP Authorization Header are not available. My Browser Debug tool show me that the Authorization header properly send.
Both server are running with the same software: Ubuntu 14.04 with Apache2 (Server version: Apache/2.4.7 (Ubuntu)).
Enabled apache2 modules (auth_basic is enabled):
Is there a PHP ini setting to allow Authorization header?
edit 2015-05-13:
$headers = apache_request_headers();
if (isset($headers['Authorization'])) {
echo 'you are auth';
} else {
echo 'there is no Authorization';
}
On my locale system this returns 'you are auth', on the server 'there is no Authorization'. Tested with Postman app in Chrome browser.
edit 2015-05-14:
I think it is an Apache2 topic.
How can i enable the Authorization header in Apache2?
解决方案
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
in the .htaccess solves the problem.
But i do not know why this is not necessary on my locale system.