Ich habe dieses Problem auch auf einer EC2-Instanz mit dem neuesten Amazon Linux-Build. Die getallheaders()
Funktion funktioniert nicht unter nginx
. Alle gebuchten Ersetzungen für getallheaders()
erhalten nur Werte von $_SERVER
. Das Problem ist, dass die Header, die ich brauche, nicht da sind.getallheaders() fehlt bei Verwendung von nginx und php
Ich teste meine ursprüngliche Implementierung mit Postman (eine Chrome App). Es verfügt über eine Registerkarte "Header" und eine Registerkarte "Body". Ich kann die Einträge in der Registerkarte Körper im $_POST
Array finden. Die Einträge in der Registerkarte Header sind nicht vorhanden oder in einem der anderen globalen Arrays.
Der Code, an dem ich arbeite, ist ein Webdienst für eine App (die ich nicht kontrolliere), so dass ich die Art der Anrufe nicht ändern kann.
Hier sind die Header, die ich bekomme, wenn getallheaders()
auf Apache laufen Aufruf (ich ein paar für Klarheit entfernt):
Array
(
[Host] => api.dashforhealth.com
[Connection] => keep-alive
[Cache-Control] => no-cache
[Origin] => chrome-extension://fhbjgbiflinjbdggehcddcbncdddomop
[api_key] => this-is-not-the-real-api-key
[Content-Type] => application/x-www-form-urlencoded
[Postman-Token] => 76069288-e74e-3791-eb42-f166454d8822
[auth_key] => this-is-not-the-real-auth-key
[Accept] => */*
)
Die beiden, die ich in sind api_key
und auth_key
interessiert bin. Wie kann ich diese Header erhalten, wenn sie in nginx
ausgeführt werden?
, die das Problem löst. Ich habe 'subscores_in_headers on;' in die Nginx-Konfigurationsdatei für diese Domain eingefügt und kann die benötigten Header von '$ _SERVER' abrufen. –