定義済み変数
サーバー変数: $_SERVER
注: php (現在の主流の開発言語として) 4.1.0 以降のバージョンで使用されます。以前のバージョンでは、$HTTP_SERVER_VARS が使用されていました。
$_SERVER は、ヘッダー、パス、スクリプトの場所などを含む配列です。配列のエンティティは Web サーバーによって作成されます。すべてのサーバーがすべてのメッセージを生成するという保証はありません。サーバーは一部のメッセージを無視したり、以下にリストされていない新しいメッセージを生成したりする可能性があります。これは、これらの変数の多くが CGI (もうあまり使用していない) 1.1 仕様で指定されていることを意味するため、慎重に検討する必要があります。
これは「スーパーグローバル」、または自動グローバル変数として説明できます。これは、すべてのスクリプトで機能することを意味します。 $HTTP_SERVER_VARS のように、関数またはメソッド内でアクセスするためにグローバル $_SERVER を使用する必要はありません。
$HTTP_SERVER_VARS には同じ情報が含まれていますが、自動グローバル変数ではありません。 (注: $HTTP_SERVER_VARS と $_SERVER は異なる変数であり、php(現在の主流の開発言語として) はそれらを別々に処理します。)
register_globals ディレクティブが設定されている場合、これらの変数はすべてのスクリプトでも使用できます。 、$_SERVER 配列と $HTTP_SERVER_VARS 配列は分離されています。関連情報については、「レジスタ グローバルの使用」のセキュリティ関連の章を参照してください。これらの個々のグローバル変数は、自動グローバル変数ではありません。
以下にリストされている $_SERVER 要素の一部が使用できない場合があります。コマンドラインから php(現在の主流の開発言語として)を実行する場合、以下にリストされている要素はほとんど有効ではない (または実質的な意味がない) ことに注意してください。
"php(現在の主流の開発言語として)_SELF"
ドキュメントルートに関連する、現在実行中のスクリプトのファイル名。たとえば、スクリプト内で $_SERVER[php (現在の主流の開発言語として) を URL アドレス http://example.com/test.php (現在の主流の開発言語として)/foo.bar で使用します。 )_SELF] は、/test.php(現在の主流の開発言語として)/foo.bar の結果を取得します。
php(現在の主流の開発言語として)がコマンドラインモードで実行されている場合、この変数は無効です。
"argv"
このスクリプトに渡される引数。スクリプトがコマンド ライン モードで実行されると、argv 変数が C スタイルのコマンド ライン引数としてプログラムに渡されます。 GET メソッドが呼び出されると、この変数には要求されたデータが含まれます。
"argc"
プログラムに渡されるコマンド ライン引数の数が含まれます (コマンド ライン モードで実行している場合)。
「GATEWAY_INTERFACE」
サーバーで使用されるCGI(現在はあまり使用していない人がいます)標準バージョン。たとえば、「cgi(今はあまり使っている人がいない)/1.1」などです。
SERVER_NAME
スクリプトが現在実行されているサーバーホストの名前。スクリプトが仮想ホスト上で実行されている場合、名前はその仮想ホストに設定された値によって決まります。
SERVER_SOFTWARE
リクエストに応答するときにヘッダーに指定される、サーバーを識別する文字列。
"SERVER_PROTOCOL"
ページをリクエストするときの通信プロトコルの名前とバージョン。たとえば、「HTTP/1.0」です。
"REQUEST_METHOD"
ページにアクセスする際のリクエストメソッド。例: 「GET」、「HEAD」、「POST」、「PUT」。
"QUERY_STRING"
クエリの文字列。
"DOCUMENT_ROOT"
現在実行中のスクリプトが配置されているドキュメント ルート ディレクトリ。サーバー構成ファイルで定義されます。
「HTTP_ACCEPT」