La variable $_SERVEUR['PHP_AUTH_USER'] n'est plus accessible

Les variable $_SERVEUR’PHP_AUTH_USER’] et $_SERVEUR’PHP_AUTH_PW’] ne sont plus accessible depuis la migration en php 5.4.23 (à priori car php est chargé en fast cgi).

Si votre site utilisais ces variables dans un mécanisme d’authentification, il existe une solution de contournement décrite ici :

http://www.besthostratings.com/articles/http-auth-php-cgi.html

Il s’agit de créer une règle de ré-écriture dans un .htaccess de la manière suivante :

RewriteEngine on RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]

Puis dans votre script d’authentification, de parser la variable $_SERVEUR’HTTP_AUTHORIZATION’] pour générer les 2 globales dont vous avez besoin.

list($_SERVER’PHP_AUTH_USER’], $_SERVER’PHP_AUTH_PW’]) = explode(’:’ , base64_decode(substr($_SERVER’HTTP_AUTHORIZATION’], 6)));