2

クライアントから送信されたカスタム ヘッダー データをキャプチャする必要がある Web アプリケーションを開発しています。私のローカルホストには PHP 5.4 がインストールされていて、getallheaders().

しかし、PHP 5.3がインストールされている私のホスティングでは。ヘッダーが取得できません。私はすでに次のような他の方法を試しました:

foreach ($_SERVER as $name => $value) 
{ 
    if (substr($name, 0, 5) == 'HTTP_') 
    {
        $name = str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5))))); 
        $headers[$name] = $value; 
    } else if ($name == "CONTENT_TYPE") { 
        $headers["Content-Type"] = $value; 
    } else if ($name == "CONTENT_LENGTH") { 
        $headers["Content-Length"] = $value; 
    } 
}

apache_request_headers(), apache_response_headers()

他に方法はありますか?私のホスティングは PHP 5.3 (FastCGI) を使用しています。

アップデート

さて、私は問題がどこから来たのかを理解しました。最初に(概念を証明するために)、PHPをApacheモジュールとして実行するように切り替えます。はい、期待どおりgetallheaders().

その後、他の残りのクライアント/デバッガーでカスタム ヘッダー (現在は FastCGI として) を送信しようとしましたが、コードはヘッダー ($_SERVER 内) をキャプチャできます。問題は、サーバーが Apache モジュールとして実行されている場合にのみ、最初の REST クライアントがヘッダーを送信できる理由です。

私のユーザーの 1 人が同じ問題を抱えていて、もう 1 人は問題がない場合は残念です。

4

0 に答える 0