ホームページ  >  記事  >  バックエンド開発  >  PHPのgetenv()関数の詳しい説明

PHPのgetenv()関数の詳しい説明

小云云
小云云オリジナル
2018-03-19 13:15:1528518ブラウズ

場合によっては、$_ENVが空になることがあります。その理由は、通常、PHP 設定ファイル php.ini の設定項目が variables_order であるためです。 =「GPCS」$_ENVの値を空にしないようにするには、variables_order の値に大文字の「E」を追加する必要があります。つまり、variables_order =「EGPCS」したがって、公式の推奨事項は、getenv 関数を使用することです。

getenv() 関数定義: システム環境変数を取得します。

構文: string getenv(string varname)
注: 戻り値は文字列です。 function は環境変数を取得するために使用される関数であり、指定されたパラメータに応じて異なる環境変数を取得できます。

特定のパラメータは次のとおりです:

"PHP_SELF"

ドキュメントルートに関連する、現在実行中のスクリプトのファイル名。

PHP がコマンドラインモードで実行されている場合、この変数は PHP 4.3.0 より前では効果がありません。

"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」。
注: リクエストメソッドが HEAD の場合、PHP スクリプトはヘッダー情報の送信後に中止されます (これは、出力が生成された後は、出力バッファリングが存在しないことを意味します)。

"REQUEST_TIME"
リクエストが開始されたときのタイムスタンプ。 PHP 5.1.0 以降で有効です。

"QUERY_STRING"
クエリの文字列 (URL の最初の疑問符? の後の内容)。

"DOCUMENT_ROOT"
現在実行中のスクリプトが配置されているドキュメントルートディレクトリ。サーバー構成ファイルで定義されます。

"HTTP_ACCEPT"
現在のリクエストの Accept: ヘッダー情報の内容。

"HTTP_ACCEPT_CHARSET"
現在のリクエストの Accept-Charset: ヘッダー情報の内容。例: 「iso-8859-1,*,utf-8」。

"HTTP_ACCEPT_ENCODING"
現在のリクエストの Accept-Encoding: ヘッダー情報の内容。例:「gzip」。

"HTTP_ACCEPT_LANGUAGE"
現在のリクエストの Accept-Language: ヘッダー情報の内容。例:「エン」。

"HTTP_CONNECTION"
現在のリクエストの Connection: ヘッダー情報の内容。例:「キープアライブ」。

"HTTP_HOST"
現在のリクエストのホスト: ヘッダー情報の内容。

"HTTP_REFERER"
現在のページにリンクされている前のページの URL アドレス。すべてのユーザー エージェント (ブラウザー) がこの変数を設定するわけではなく、一部のユーザー エージェント (ブラウザー) は HTTP_REFERER を手動で変更することもできます。したがって、この変数は常に真であるとは限りません。

"HTTP_USER_AGENT"
User-Agent: 現在のリクエストのヘッダー情報の内容。この文字列は、このページにアクセスするユーザー エージェントに関する情報を示します。典型的な例は次のとおりです: Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586)。この情報は、get_browser() を使用して取得することもできます。

"HTTPS"
スクリプトが HTTPS プロトコル経由でアクセスされる場合は、空ではない値に設定します。

"REMOTE_ADDR"
現在のページを閲覧しているユーザーの IP アドレス。

"REMOTE_HOST"
現在のページを閲覧しているユーザーのホスト名。逆ドメイン名解決は、ユーザーの
REMOTE_ADDR に基づきます。
注: この変数を作成するように Web サーバーを構成する必要があります。たとえば、Apache では httpd.conf で HostnameLookups On が必要です。 gethostbyaddr() を参照してください。

"REMOTE_PORT"
ユーザーがサーバーに接続するために使用するポート。

"SCRIPT_FILENAME"
現在実行中のスクリプトの絶対パス名。
注: スクリプトが CLI で file.php や ../file.php などの相対パスとして実行される場合、$_SERVER[‘SCRIPT_FILENAME’] にはユーザー指定の相対パスが含まれます。

"SERVER_ADMIN"
この値は、Apache サーバー設定ファイルの SERVER_ADMIN パラメータを指定します。スクリプトが仮想ホスト上で実行されている場合、この値はその仮想ホストの値になります。

"SERVER_PORT"
サーバーによって使用されるポート。デフォルトは「80」です。 SSL セキュア接続を使用する場合、この値はユーザーが設定した HTTP ポートです。

"SERVER_SIGNATURE"
サーバーのバージョンと仮想ホスト名を含む文字列。

"PATH_TRANSLATED"
現在のスクリプトが配置されているファイル システムのベース パス (ドキュメント ルート ディレクトリではありません)。これは、サーバーが仮想パスから実際のパスにイメージ化された後の結果です。
注: PHP 4.3.2 以降、Apache 2 SAPI モードの PATH_TRANSLATED は、Apache 1 のように暗黙的に割り当てられなくなりました。代わりに、Apache がこの値を生成しない場合、PHP が自ら値を生成し、その値を SCRIPT_FILENAME サーバー定数に入れます。この変更は、PATH_INFO が定義されている場合にのみ PATH_TRANSLATED が存在するという CGI 仕様に準拠しています。
Apache 2 ユーザーは、httpd.conf で AcceptPathInfo On を使用して PATH_INFO を定義できます。

"SCRIPT_NAME"
現在のスクリプトへのパスが含まれます。これは、ページがそれ自体を指す必要がある場合に便利です。 FILE 現在のファイル (例: インクルード ファイル) の絶対パスとファイル名が含まれます。

"REQUEST_URI"
このページにアクセスするために必要な URI。たとえば、「/index.html」です。

"PHP_AUTH_DIGEST"
Apache モジュールとして実行している場合、HTTP ダイジェスト認証プロセス中に、この変数は、(さらなる認証操作のために) クライアントによって送信された「Authorization」HTTP ヘッダーの内容に設定されます。

"PHP_AUTH_USER"
PHP が Apache または IIS (PHP 5 は ISAPI) モジュール モードで実行され、HTTP 認証機能を使用している場合、この変数はユーザーが入力したユーザー名です。

"PHP_AUTH_PW"
PHP が Apache または IIS (PHP 5 は ISAPI) モジュール モードで実行され、HTTP 認証機能が使用されている場合、この変数はユーザーが入力したパスワードになります。

HTTP_CLIENT_IP
ユーザーの IP コードを取得する

関連する推奨事項:

php 関数 getenv() と putenv() と $_SERVER の詳細な説明

getenv() と $

PHPインgetenv() 関数 (環境変数)

以上がPHPのgetenv()関数の詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。