MAC OS 10.10 (Yosemite) et Apache 2.4

ATTENTION si vous avez migré à MAC OS 10.10 (Yosemite) dernièrement. La version d’APACHE incluse est la version 2.4.9 qui apporte sont lot de changements par rapport aux versions 2.2.x.

En autre, le traitement des HEADERS est différent. Voici le texte officiel de la documentation d’APACHE:

“Avec la version 2.4, Apache est plus strict avec la conversion des en-têtes HTTP en variables d’environnement dans mod_cgi et d’autres modules : dans les versions précédentes, tout caractère invalide dans les noms d’en-têtes était tout simplement remplacé par un caractère ’_’, ce qui pouvait exposer à des attaques de type cross-site-scripting via injection d’en-têtes”

Donc, si vous passez des HEADERS via des call AJAX, il est possible que votre code ne fonctionne plus. Les HEADERS contenant des _ (underscores) sont tout simplement ignoré par APACHE 2.4.X.

La variable globale $_SERVER de PHP ne contiendra pas le header souhaité. La documentation propose une manière de corriger le comportement d’APACHE mais il préférable de renommer vos headers AJAX.

Consultez la section exemples dans le lien ci-dessous pour contourner le problème si c’est votre seule façon:

https://httpd.apache.org/docs/trunk/env.html#page-header

Vous êtes avisé :)