Maison >développement back-end >tutoriel php >Comment transmettre les en-têtes d'autorisation d'Apache 2.4 à PHP-FPM ?
Mod_proxy_fcgi d'Apache 2.4, couramment utilisé pour envoyer des requêtes proxy à PHP-FPM, peut rencontrer des problèmes lors de la transmission des en-têtes d'autorisation à le processus externe FastCGI. Cela peut empêcher les utilisateurs d'accéder à certaines fonctionnalités, telles que le moniteur de cache utilisateur d'APC.
Cause
Divers modules Apache peuvent supprimer l'en-tête Authorization pour des raisons de sécurité perçues. Identifier le module spécifique responsable peut être difficile.
Solution de contournement avec SetEnvIf
Pour contourner ce problème, vous pouvez transmettre l'en-tête directement à PHP via env :
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=
Considérations supplémentaires
Dans certains cas, passer l'en-tête via l'env peut ne pas être suffisant. Vous devrez peut-être également modifier votre code PHP pour accéder à l'en-tête d'autorisation à partir de $_SERVER['REDIRECT_HTTP_AUTHORIZATION'] au lieu de $_SERVER['HTTP_AUTHORIZATION'].
Solution alternative
Si la solution de contournement SetEnvIf s'avère inefficace, une autre solution possible consiste à examiner la configuration d'Apache pour les paramètres liés au passage d'en-tête.
Conclusion
Passer les en-têtes d'autorisation d'Apache 2.4 vers PHP-FPM peut être problématique, mais en comprenant les causes potentielles et en mettant en œuvre des solutions de contournement appropriées, vous pouvez garantir que les utilisateurs ont accès aux caractéristiques et fonctionnalités nécessaires.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!