❶ Thinkphp 裡面的SERVER是什麼意思
php的mp取 $_SERVER信息,$_server是包含這些信息的一個數組。
❷ php中如何讀取環境變數
PHP中的環境變數可以通過 $_SERVER 獲取
$_SERVER是一個包含伺服器端相關信息的PHP全局環境變數,在PHP4.1.0之前的版本使用$HTTP_SERVER_VARS。
下面是詳細的說明及用法:
$_SERVER['PHP_SELF'] 當前正在執行腳本的文件名,與 document root相關。在FORM表單中,如執行文件是本身,你可以在ACTION中使用$_SERVER['PHP_SELF'],好處是當執行文件名有變動時可以不去頻繁替換ACTION中的文件名。
$_SERVER['SERVER_NAME'] 當前運行的PHP程序所在伺服器主機的名稱。
$_SERVER['REQUEST_METHOD'] 訪問頁面時的請求方法,即GET、HEAD、POST、PUT。
$_SERVER['DOCUMENT_ROOT'] 當前運行的PHP程序所在的文檔根目錄。也就是PHP.INI文件中的定義。
$_SERVER['HTTP_REFERER'] 鏈接到當前頁面的前一頁面的URL地址。在頁面跳轉功能中非常有用。
$_SERVER['REMOTE_ADDR'] 正在瀏覽當前頁面訪問者的IP地址。
$_SERVER['REMOTE_HOST'] 正在瀏覽當前頁面用戶的主機名。
$_SERVER['REMOTE_PORT'] 正在游覽的用戶連接到伺服器時所使用的埠。
$_SERVER['SCRIPT_FILENAME'] 當前執行腳本的絕對路徑名。
$_SERVER['SERVER_PORT'] 伺服器所使用的埠
$_SERVER['SCRIPT_NAME'] 包含當前腳本的路徑。這在頁面需要指向自己時非常有用。
$_SERVER['REQUEST_URI'] 訪問此頁面所需的URI。如「/index.html」。
$_SERVER['PHP_AUTH_USER'] 應用在HTTP用戶登錄認證功能中,這個變數是用戶輸入的用戶名。
$_SERVER['PHP_AUTH_PW'] 應用在HTTP用戶登錄認證功能中,這個變數便是用戶輸入的密碼。
$_SERVER['AUTH_TYPE'] 應用在HTTP用戶登錄認證功能中,這個變數便是認證的類型。
備註:上述提到的這些PHP全局環境變數,在php.ini中的register_globals設置為on時,這些變數在所有PHP程序腳本中都可用,也就是$_SERVER數組被分離了。當然為了安全考慮,還是不要將register_globals打開為好。
❸ 在PHP中$_SERVER是什麼意思
PHP中$_SERVER的詳細參數與說明
PHP編程中經常需要用到一些伺服器的一些資料,特把$_SERVER的詳細參數整理下,方便以後使用。
$_SERVER['PHP_SELF'] #當前正在執行腳本的文件名,與 document root相關。
$_SERVER['argv'] #傳遞給該腳本的參數。
$_SERVER['argc'] #包含傳遞給程序的命令行參數的個數(如果運行在命令行模式)。
$_SERVER['GATEWAY_INTERFACE'] #伺服器使用的 CGI 規范的版本。例如,「CGI/1.1」。
$_SERVER['SERVER_NAME'] #當前運行腳本所在伺服器主機的名稱。
$_SERVER['SERVER_SOFTWARE'] #伺服器標識的字串,在響應請求時的頭部中給出。
$_SERVER['SERVER_PROTOCOL'] #請求頁面時通信協議的名稱和版本。例如,「HTTP/1.0」。
$_SERVER['REQUEST_METHOD'] #訪問頁面時的請求方法。例如:「GET」、「HEAD」,「POST」,「PUT」。
$_SERVER['QUERY_STRING'] #查詢(query)的字元串。
$_SERVER['DOCUMENT_ROOT'] #當前運行腳本所在的文檔根目錄。在伺服器配置文件中定義。
$_SERVER['HTTP_ACCEPT'] #當前請求的 Accept: 頭部的內容。
$_SERVER['HTTP_ACCEPT_CHARSET'] #當前請求的 Accept-Charset: 頭部的內容。例如:「iso-8859-1,*,utf-8」。
$_SERVER['HTTP_ACCEPT_ENCODING'] #當前請求的 Accept-Encoding: 頭部的內容。例如:「gzip」。
$_SERVER['HTTP_ACCEPT_LANGUAGE']#當前請求的 Accept-Language: 頭部的內容。例如:「en」。
$_SERVER['HTTP_CONNECTION'] #當前請求的 Connection: 頭部的內容。例如:「Keep-Alive」。
$_SERVER['HTTP_HOST'] #當前請求的 Host: 頭部的內容。
$_SERVER['HTTP_REFERER'] #鏈接到當前頁面的前一頁面的 URL 地址。
$_SERVER['HTTP_USER_AGENT'] #當前請求的 User_Agent: 頭部的內容。
$_SERVER['HTTPS'] — 如果通過https訪問,則被設為一個非空的值(on),否則返回off
$_SERVER['REMOTE_ADDR'] #正在瀏覽當前頁面用戶的 IP 地址。
$_SERVER['REMOTE_HOST'] #正在瀏覽當前頁面用戶的主機名。
$_SERVER['REMOTE_PORT'] #用戶連接到伺服器時所使用的埠。
$_SERVER['SCRIPT_FILENAME'] #當前執行腳本的絕對路徑名。
$_SERVER['SERVER_ADMIN'] #管理員信息
$_SERVER['SERVER_PORT'] #伺服器所使用的埠
$_SERVER['SERVER_SIGNATURE'] #包含伺服器版本和虛擬主機名的字元串。
$_SERVER['PATH_TRANSLATED'] #當前腳本所在文件系統(不是文檔根目錄)的基本路徑。
$_SERVER['SCRIPT_NAME'] #包含當前腳本的路徑。這在頁面需要指向自己時非常有用。
$_SERVER['REQUEST_URI'] #訪問此頁面所需的 URI。例如,「/index.html」。
$_SERVER['PHP_AUTH_USER'] #當 PHP 運行在 Apache 模塊方式下,並且正在使用 HTTP 認證功能,這個變數便是用戶輸入的用戶名。
$_SERVER['PHP_AUTH_PW'] #當 PHP 運行在 Apache 模塊方式下,並且正在使用 HTTP 認證功能,這個變數便是用戶輸入的密碼。
$_SERVER['AUTH_TYPE'] #當 PHP 運行在 Apache 模塊方式下,並且正在使用 HTTP 認證功能,這個變數便是認證的類型。
❹ PHP中關於$_SERVER參數的問題
$_SERVER在php程序運行的時候通過環境變數確定的,$_SERVER變數裡面的數值都有固定的格式,如$_SERVER['HOST']就是當前主機的地址,你可以通過count($_SERVER)來查看參數個數,不過不能通過數字索引來訪問。強烈建議你去這里看一下php的文檔http://cn.php.net/manual/en/reserved.variables.server.php
❺ php中如何獲得伺服器的根目錄
需要准備的材料分別是:電腦、php編輯器、瀏覽器。
1、首先,打開php編輯器,再新建php文件,例如:index.php。
❻ php 的$_SERVER['SERVER_NAME']是如何獲取的
你應該去查php手冊,這是手冊原話:
$_SERVER 是一個包含諸如頭部(headers)、路徑(paths)和腳本位置(script locations)的數組。數組的實體由 web 伺服器創建。不能保證所有的伺服器都能產生所有的信息;伺服器可能忽略了一些信息,或者產生了一些未在下面列出的新的信息。這意味著,大量的這些變數在 CGI 1.1 specification 中說明,所以您應該仔細研究它。
換句話說,$_SERVER應該是直接去伺服器(nginx)中獲得配置文件內容的,不過呢也不一定能全部獲得,有可能伺服器不兼容或者其他原因。
❼ php 伺服器變數$_SERVER 伺服器環境變數 $_ENV
PHP $_SERVER 變數
$_SERVER 是一個包含諸如頭信息(header)、路徑(path)和腳本位置(script locations)的數組。它是 PHP 中一個超級全局變數,我們可以在 PHP 程序的任何地方直接訪問它。
$_SERVER 包含著眾多的信息,你可以嘗試直接列印它:
print_r($_SERVER);
$_SERVER 數組元素
更多情況下,我們只需要 $_SERVER 數組中的某些元素(數組單元)。$_SERVER 數組包含的元素如下:
頁面程序相關
$_SERVER[『PHP_SELF』]:相對於網站根目錄的路徑及 PHP 程序名稱,與 document root 相關。
$_SERVER[『HTTP_REFERER』]:鏈接到當前頁面的前一頁面的 URL 地址。
$_SERVER[『SCRIPT_NAME』]:相對於網站根目錄的路徑及 PHP 程序文件名稱 。
$_SERVER[『REQUEST_URI』]:訪問此頁面所需的 URI 。
$_SERVER[『SCRIPT_FILENAME』]:當前運行 PHP 程序的絕對路徑及文件名。
$_SERVER[『PATH_TRANSLATED』]:當前 PHP 程序所在文件系統(不是文檔根目錄)的基本路徑。
$_SERVER[『QUERY_STRING』]:查詢(query)的字元串(URL 中第一個問號 ? 之後的內容但不包括 # 後面的內容)。
$_SERVER[『argv』]:傳遞給當前 PHP 程序的參數。
$_SERVER[『argc』]:命令行模式下,包含傳遞給程序的命令行參數的個數。
$_SERVER[『REQUEST_TIME』]:請求開始時的時間戳,從 PHP 5.1.0 起有效。
$_SERVER[『REQUEST_METHOD』]:訪問頁面時的請求方法,例如:「GET」、「HEAD」,「POST」或「PUT」。
$_SERVER[『HTTP_ACCEPT』]:當前請求的 Accept: 頭信息的內容。
$_SERVER[『HTTP_ACCEPT_CHARSET』]:當前請求的 Accept-Charset: 頭信息的內容。例如:「iso-8859-1,*,utf-8」。
$_SERVER[『HTTP_ACCEPT_ENCODING』]:當前請求的 Accept-Encoding: 頭信息的內容。例如:「gzip」。
$_SERVER[『HTTP_ACCEPT_LANGUAGE』]:當前請求的 Accept-Language: 頭信息的內容。例如:「zh-cn」。
$_SERVER[『HTTP_CONNECTION』]:當前請求的 Connection: 頭信息的內容。例如:「Keep-Alive」。
$_SERVER[『HTTP_HOST』]:當前請求的 Host: 頭信息的內容。
$_SERVER[『HTTPS』]:如果 PHP 程序是通過 HTTPS 協議被訪問,則被設為一個非空的值。
$_SERVER[『PHP_AUTH_DIGEST』]:當作為 Apache 模塊運行時,進行 HTTP Digest 認證的過程中,此變數被設置成客戶端發送的「Authorization」HTTP 頭內容(以便作進一步的認證操作)。
$_SERVER[『PHP_AUTH_USER』]:當 PHP 運行在 Apache 或 IIS(PHP 5 是 ISAPI)模塊方式下,並且正在使用 HTTP 認證功能,這個變數便是用戶輸入的用戶名。
$_SERVER[『PHP_AUTH_PW』]:當 PHP 運行在 Apache 或 IIS(PHP 5 是 ISAPI)模塊方式下,並且正在使用 HTTP 認證功能,這個變數便是用戶輸入的密碼。
$_SERVER[『AUTH_TYPE』]:當 PHP 運行在 Apache 模塊方式下,並且正在使用 HTTP 認證功能,這個變數便是認證的類型。
伺服器端相關
$_SERVER[『DOCUMENT_ROOT』]:當前運行 PHP 程序所在的文檔根目錄,在伺服器配置文件中定義。
$_SERVER[『GATEWAY_INTERFACE』]:伺服器使用的 CGI 規范的版本,例如:「CGI/1.1」。
$_SERVER[『SERVER_ADDR』]:當前運行 PHP 程序所在的伺服器的 IP 地址。
$_SERVER[『SERVER_NAME』]:當前運行 PHP 程序所在的伺服器的名稱。
$_SERVER[『SERVER_ADMIN』]:Apache 伺服器配置文件中的 SERVER_ADMIN 參數。
$_SERVER[『SERVER_PORT』]:伺服器所使用的埠。如果使用 SSL 安全連接,則這個值為用戶設置的 HTTP 埠。
$_SERVER[『SERVER_SIGNATURE』]:包含伺服器版本和虛擬主機名的字元串。
$_SERVER[『SERVER_SOFTWARE』]:伺服器標識的字串,在響應請求時的頭信息中給出。
$_SERVER[『SERVER_PROTOCOL』]:請求頁面時通信協議的名稱和版本,例如:「HTTP/1.0」。
其他雜項
$_SERVER[『HTTP_USER_AGENT』]:當前請求的 User-Agent: 頭信息的內容,該字元串表明了訪問該頁面的用戶代理的信息。
$_SERVER[『REMOTE_ADDR』]:正在瀏覽當前頁面用戶的 IP 地址。
$_SERVER[『REMOTE_HOST』]:正在瀏覽當前頁面用戶的主機名。
$_SERVER[『REMOTE_PORT』]:用戶連接到伺服器時所使用的埠。
注意,如果以命令行方式運行 PHP,上面列出的元素幾乎沒有有效的(或是沒有任何實際意義的)。
PHP $_ENV 變數
$_ENV 是一個包含伺服器端環境變數的數組。它是 PHP 中一個超級全局變數,我們可以在 PHP 程序的任何地方直接訪問它。
$_ENV 只是被動的接受伺服器端的環境變數並把它們轉換為數組元素,你可以嘗試直接列印它:
print_r($_ENV);
限於篇幅,在此不再列出列印的結果,且不同的伺服器上,列印出的結果可能是完全不同的。
$_ENV 數組元素
$_ENV 數組中的元素(數組單元)隨伺服器環境不同而有較大差異,所以無法像 $_SERVER 那樣列出完整的列表。以下是 $_ENV 數組包含的比較通用的元素:
$_SERVER[『PATH』]:環境變數 PATH 路徑。
$_SERVER[『CLASSPATH』]:系統 CLASSPATH 路徑。
$_SERVER[『LIB』]:系統 LIB 庫路徑。
$_SERVER[『INCLUDE』]:系統 Include 路徑,注意與 PHP 的包含路徑是不一樣的。
$_SERVER[『OS』]:操作系統類型。
$_SERVER[『LANG』]:系統語言,如 en_US 或 zh_CN。
$_SERVER[『PWD』]:當前工作目錄。
$_SERVER[『TEMP』]:系統 TEMP 路徑。
$_SERVER[『AP_PARENT_PID』]:當前進程 ID 號。
$_SERVER[『NUMBER_OF_PROCESSORS』]:系統 CPU 數目。
$_ENV 為空的原因及解決辦法
如果列印輸出 $_ENV 為空,可以檢查一下 php.ini 的配置:
variables_order = "EGPCS"
上述配置表示 PHP 接受的外部變數來源及順序,EGPCS 是 Environment、Get、Post、Cookies 和 Server 的縮寫。如果 variables_order 的配置中缺少 E ,則 PHP 無法接受環境變數,那麼 $_ENV 也就為空了。