php $_ENV 環境變數詳解

來源:互聯網
上載者:User

環境變數:$_ENV
注: 在 PHP 4.1.0 及以後版本使用。之前的版本,使用 $HTTP_ENV_VARS。

在解析器運行時,這些變數從環境變數轉變為 PHP 全域變數名稱空間(namespace)。它們中的許多都是由 PHP 所啟動並執行系統決定。完整的列表是不可能的。請查看系統的文檔以確定其特定的環境變數。

其它環境變數(包括 CGI 變數),無論 PHP 是以伺服器模組或是以 CGI 處理方式運行,都在這裡列出了。

這是一個“superglobal”,或者可以描述為自動全域變數。這隻不過意味這它在所有的指令碼中都有效。在函數或方法中不需要使用 global $_ENV; 來訪問它,就如同使用 $HTTP_ENV_VARS 一樣。

$HTTP_ENV_VARS 包含著同樣的資訊,但是不是一個自動全域變數(注意:$HTTP_ENV_VARS 和 $_ENV 是不同的變數,PHP 處理它們的方式不同)。

如果設定了 register_globals 指令,這些變數也在所有指令碼中可用;也就是,分離了 $_ENV 和 $HTTP_ENV_VARS 數組。相關資訊,請參閱安全的相關章節使用 Register Globals。這些單獨的全域變數不是自動全域變數。

看個執行個體

<?php教程
echo 'My username is ' .$_ENV["USER"] . '!';
?>

假設 "bjori" 運行此段指令碼

以上常式的輸出類似於:

My username is bjori!

執行個體2

<?php
if (isset($_ENV["HOSTNAME"]))
    $MachineName = $_ENV["HOSTNAME"];
else if  (isset($_ENV["COMPUTERNAME"]))
    $MachineName = $_ENV["COMPUTERNAME"];
else $MachineName = "";
?>

器的運行環境匯入到 PHP 的全域命名空間。很多是由支援 PHP 啟動並執行 Shell 提供的,並且不同的系統很可能運行著不同種類的 Shell,所以不可能有一份確定的列表。請查看你的 Shell 文檔來擷取定義的環境變數列表。

其他環境變數包含了 CGI 變數,而不管 PHP 是以伺服器模組還是 CGI 處理器的方式運行。

$HTTP_ENV_VARS 包含相同的資訊,但它不是一個超全域變數。 (注意 $HTTP_ENV_VARS 和 $_ENV 是不同的變數,PHP 處理它們的方式不同

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.