0

In php the $_SERVER global has a lot of info regarding the request etc but where are these set?

Are these provided by apache through some api?

Or is php getting them from somwehere else? If so where?

4

2 に答える 2

3

PHP マニュアルを見ると (URL: http://php.net/manual/en/reserved.variables.server.php )

$_SERVER は、ヘッダー、パス、スクリプトの場所などの情報を含む配列です。この配列のエントリは、Web サーバーによって作成されます。すべての Web サーバーがこれらのいずれかを提供するという保証はありません。サーバーは、一部を省略したり、ここにリストされていないものを提供したりする場合があります。とはいえ、これらの変数の多くは » CGI/1.1 仕様で考慮されているため、それらを期待できるはずです。

$HTTP_SERVER_VARS には同じ初期情報が含まれていますが、スーパーグローバルではありません。($HTTP_SERVER_VARS と $_SERVER は異なる変数であり、PHP はそれらをそのように処理することに注意してください)

したがって、Apache を使用する場合は Apache から取得されます。それ以外の場合は、他のサーバーから。

于 2013-02-16T19:10:50.967 に答える
2

PHPドキュメントから:

$_SERVER は、ヘッダー、パス、スクリプトの場所などの情報を含む配列です。この配列のエントリは、Web サーバーによって作成されます。すべての Web サーバーがこれらのいずれかを提供するという保証はありません。サーバーは、一部を省略したり、ここにリストされていないものを提供したりする場合があります。

于 2013-02-16T19:10:57.623 に答える