首頁  >  文章  >  後端開發  >  php中getenv()函數詳解

php中getenv()函數詳解

小云云
小云云原創
2018-03-19 13:15:1528522瀏覽

有時候,$_ENV會為空,原因通常是php的設定檔php.ini的設定項為:variables_order = "GPCS"。要想讓$_ENV的值不為空,那麼variables_order的值應該加上一個大寫字母“E”,即:variables_order = "EGPCS"所以,官方建議用getenv函數。

getenv()函數定義:取得系統的環境變數; 
語法:string getenv(string varname); 
註:傳回的是字串;

在PHP中getenv(參數)函數是用來取得環境變數的函數,根據提供不同的參數可以取得不同的環境變數。

具體參數如下:

「PHP_SELF」 
目前正在執行腳本的檔名,與document root 相關。 
如果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」 
#查詢(query)的字串(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: 頭資訊的內容。例如:“en”。

「HTTP_CONNECTION」 
目前要求的Connection: 頭資訊的內容。例如:「Keep-Alive」。

「HTTP_HOST」 
目前要求的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 之後,PATH_TRANSLATED 在Apache 2 SAPI 模式下不再和Apache 1 一樣隱含賦值,而是若Apache 不產生此值,PHP 便自己產生並將其值放入SCRIPT_FILENAME 伺服器常數中。這個修改遵守了CGI 規範,PATH_TRANSLATED 僅在PATH_INFO 被定義的條件下才存在。 
Apache 2 使用者可以使用httpd.conf 中的AcceptPathInfo On 來定義PATH_INFO。

「SCRIPT_NAME」 
#包含目前腳本的路徑。這在頁面需要指向自己時非常有用。 FILE 包含目前檔案的絕對路徑和檔案名稱(例如包含檔案)。

「REQUEST_URI」 
存取此頁面所需的URI。例如,“/index.html”。

「PHP_AUTH_DIGEST」 
當作為Apache 模組運行時,進行HTTP Digest 認證的過程中,此變數被設定為客戶端發送的「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詳解

php中getenv()與$

PHP中 getenv()函數(環境變數)#

以上是php中getenv()函數詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn