2013-06-02 9 views
6

私が言うことができる限り、apache_request_headers()は、$_SERVERと同じ情報を提供しますが、わずかに異なるキーを使用します。なぜ誰かがからこの情報を取得するだけでなく、apache_request_headers()を使用する必要がありますか?私はCentOS上のApacheでPHP 5.3.18を動作させています。ありがとうございます

EDIT。 $_SERVERapache_request_headers()

Jun 2 08:50:53 localhost httpd: HTTP_HOST: www.badobe.com 
Jun 2 08:50:53 localhost httpd: Host: www.badobe.com 
Jun 2 08:50:53 localhost httpd: HTTP_USER_AGENT: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:21.0) Gecko/20100101 Firefox/21.0 
Jun 2 08:50:53 localhost httpd: User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:21.0) Gecko/20100101 Firefox/21.0 
Jun 2 08:50:53 localhost httpd: HTTP_ACCEPT: */* 
Jun 2 08:50:53 localhost httpd: Accept: */* 
Jun 2 08:50:53 localhost httpd: HTTP_ACCEPT_LANGUAGE: en-US,en;q=0.5 
Jun 2 08:50:53 localhost httpd: Accept-Language: en-US,en;q=0.5 
Jun 2 08:50:53 localhost httpd: HTTP_ACCEPT_ENCODING: gzip, deflate 
Jun 2 08:50:53 localhost httpd: Accept-Encoding: gzip, deflate 
Jun 2 08:50:53 localhost httpd: HTTP_REFERER: http://www.badobe.com/demo/administrator/index.php?cid=3 
Jun 2 08:50:53 localhost httpd: Referer: http://www.badobe.com/demo/administrator/index.php?cid=3 
Jun 2 08:50:53 localhost httpd: HTTP_COOKIE: PHPSESSID=feg3ecd4rsefvd03mgg6qear21 
Jun 2 08:50:53 localhost httpd: Cookie: PHPSESSID=feg3ecd4rsefvd03mgg6qear21 
Jun 2 08:50:53 localhost httpd: HTTP_CONNECTION: keep-alive 
Jun 2 08:50:53 localhost httpd: Connection: keep-alive 
Jun 2 08:50:53 localhost httpd: HTTP_IF_MODIFIED_SINCE: Sun, 02 Jun 2013 15:48:42 GMT 
Jun 2 08:50:53 localhost httpd: If-Modified-Since: Sun, 02 Jun 2013 15:48:42 GMT 
Jun 2 08:50:53 localhost httpd: HTTP_CACHE_CONTROL: max-age=0 
Jun 2 08:50:53 localhost httpd: Cache-Control: max-age=0 

答えて

3

私はこの関数がApacheでのみ動作すると推測します。それは、さらに私は機能は、私は$ _SERVERは、ヘッダ

2

から同一のデータapache_request_headers()$_SERVER以上その

  • ヘッダ詳細
  • を与えるようにパスが
  • 詳細を現在のリクエストの全てのHTTPヘッダの連想配列を返すので
  • スクリプトの場所
+0

ありがとうStarx。 '$ _SERVER'にない' apache_request_headers() 'には何か別のものや新しいものがありますか? – user1032531

+0

@ user1032531、更新を確認してください。 – Starx

+0

Starxにもう一度おねがいします。しかし、 'apache_request_headers()'は重複していませんか?私の編集したオリジナルの投稿を参照してください。それはどんな新しい情報を提供しますか?また、$ _SERVER配列にアクセスするよりも微視的に遅いですか? – user1032531

2

apache_request_headersの定義済みのセットが(完全に)移植ではなく、$_SERVERが完全に完了していない含まれていると思うすべてのヘッダを返す推測ちょうど野生の推測

です。最も具体的には$_SERVERにはAuthorizationヘッダが含まれていません.PHPが内部的にその値を処理できるかどうかは関係ありません。

5.4.0 apache_request_headersは、CGI展開のすべてのヘッダーも表示するようにパッチが当てられています。

関連する問題