❶ php中的_SERVER[PHP_SELF]與$PATH_INFO
前面的$_SERVER[PHP_SELF]返回的是一段信息,如「/upload/try.php」
而後面的則返回一個數組:
如:
$path_parts = pathinfo('index.html');
echo $path_parts['dirname'], "\n";
echo $path_parts['basename'], "\n";
echo $path_parts['extension'], "\n";
echo $path_parts['filename'], "\n"; // since PHP 5.2.0
將返回:
/upload
index.html
html
index
❷ php 的$_SERVER['SERVER_NAME']是如何獲取的
你應該去查php手冊,這是手冊原話:
$_SERVER 是一個包含諸如頭部(headers)、路徑(paths)和腳本位置(script locations)的數組。數組的實體由 web 伺服器創建。不能保證所有的伺服器都能產生所有的信息;伺服器可能忽略了一些信息,或者產生了一些未在下面列出的新的信息。這意味著,大量的這些變數在 CGI 1.1 specification 中說明,所以您應該仔細研究它。
換句話說,$_SERVER應該是直接去伺服器(nginx)中獲得配置文件內容的,不過呢也不一定能全部獲得,有可能伺服器不兼容或者其他原因。
❸ eclipse for php的php server怎樣設置
Eclipse配置
一:配置workspace
打開Eclipse for PHP Developers,需要設置workspace,這個必須設置到wamp的www目錄,否則待會無法進行調試。我的www目錄是C:\wamp\www
配置調試環境
進入Eclipse -- Window – Preferences 設置 PHP Executable。里需要注意PHP.INI的路徑,這里的路徑是WAMP SERVER中特有的放在了apache目錄下
設置PHP-->debug,選擇XDebug
二:配置PHP Server
PHP Server設置成默認的就行了,由於我們改了apache的埠為81,所以這里也要進行相應的修改:
❹ PHP里$_SERVER['HTTP_HOST']和$_SERVER['PHP_SELF']區別
兩者的區別在於含義不同:
假如命令行的地址是:xxx
那麼:$_SERVER['HTTP_HOST']=='www..com'$_SERVER['PHP_SELF']=='/index.php'所以前者是主機地址,後者是腳本文件的絕對路徑。
(4)php中的server擴展閱讀:
1、新對象模式
*構造函數和析構函數* 對象的引用 * 對象的克隆 * 對象中的私有、公共及受保護模式 * 介面 (Interfaces)
* 抽象類 * __call * __set 和 __get * 靜態成員
2、構造函數和析構函數
在 PHP4 中,當函數與對象同名時,這個函數將成為該對象的構造函數,並且在 PHP4 中沒有析構函數的概念。
在 PHP5 中,構造函數被統一命名為 __construct,並且引入了析構函數的概念,被統一命名為 __destruct。
3、對象的引用
在PHP4中,傳遞變數給一個函數或方法,實際是把這個變數做了一次復制,也就意味著你傳給函數或方法的是這個變數的一個副本,除非你使用了引用符號「&;」 來聲明是要做一個引用,而不是一個 Copy。在 PHP5中,對象總是以引用的形式存在的,對象中的賦值操作同樣也都是一個引用操作。
4、對象的克隆
當一個對象始終以引用的形式來被調用時,如果我想得到該對象的一個副本,該怎麼辦呢?PHP5 提供了一個新的功能,就是對象的克隆,語法為 __clone。
5、抽象類
抽象類不能被實例化。
抽象類與其它類一樣,允許定義變數及方法。
抽象類同樣可以定義一個抽象的方法,抽象類的方法不會被執行,不過將有可能會在其派生類中執行。
6、__call
PHP5 的對象新增了一個專用方法 __call(),這個方法用來監視一個對象中的其它方法。如果你試著調用一個對象中不存在的方法,__call 方法將會被自動調用。
參考資料:網路——PHP
❺ 關於~ php 的 $_SERVER
「PHP_SELF」
當前正在執行腳本的文件名,與 document root 相關。舉例來說,在 URL 地址為 http://example.com/test.php/foo.bar 的腳本中使用 $_SERVER['PHP_SELF'] 將會得到 /test.php/foo.bar 這個結果。__FILE__ 常量包含當前(例如包含)文件的絕對路徑和文件名。
「SCRIPT_NAME」
包含當前腳本的路徑。這在頁面需要指向自己時非常有用。__FILE__ 包含當前文件的絕對路徑和文件名(例如包含文件)。
主要的原因如像:$_SERVER['PHP_SELF'] ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME'];
找到更好的原因是:
今天在Dreamhost上安裝一套PHP程序時發現連接的地址都會多出一個cgi-system來,但是程序的config並沒有問題,查了查資料才發現是SCRIPT_NAME和PHP_SELF不同造成的問題。
通常在本機測試 $_SERVER['SCRIPT_NAME'] 跟 $_SERVER['PHP_SELF'] 大概看不出有什麼不同,因為大部分的PHP不是以CGI模式運行的。
但 DreamHost 上的 PHP 是以 CGI 方式運行,二者就有明顯不同的差異。
echo $_SERVER['SCRIPT_NAME']; // (/cgi-system/php.cgi)
echo $_SERVER['PHP_SELF']; // (/admin/test.php)
轉自google
❻ 在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 是一個包含了諸如頭信息(header)、路徑(path)、以及腳本位置(script locations)等等信息的數組。這個數組中的項目由 Web 伺服器創建。不能保證每個伺服器都提供全部項目;伺服器可能會忽略一些,或者提供一些沒有在這里列舉出來的項目。
下表列出了所有 $_SERVER 變數中的重要元素: 元素/代碼描述$_SERVER['PHP_SELF']當前執行腳本的文件名,與 document root 有關。$_SERVER['GATEWAY_INTERFACE']伺服器使用的 CGI 規范的版本。$_SERVER['SERVER_ADDR']當前運行腳本所在的伺服器的 IP 地址。$_SERVER['SERVER_NAME']當前運行腳本所在的伺服器的主機名。如果腳本運行於虛擬主機中,該名稱是由那個虛擬主機所設置的值決定。$_SERVER['SERVER_SOFTWARE']伺服器標識字元串,在響應請求時的頭信息中給出。$_SERVER['SERVER_PROTOCOL']請求頁面時通信協議的名稱和版本。$_SERVER['REQUEST_METHOD']訪問頁面使用的請求方法。$_SERVER['REQUEST_TIME']請求開始時的時間戳。從 PHP 5.1.0 起可用。$_SERVER['QUERY_STRING']query string(查詢字元串),如果有的話,通過它進行頁面訪問。$_SERVER['HTTP_ACCEPT']當前請求頭中 Accept: 項的內容,如果存在的話。$_SERVER['HTTP_ACCEPT_CHARSET']當前請求頭中 Accept-Charset: 項的內容,如果存在的話。$_SERVER['HTTP_HOST']當前請求頭中 Host: 項的內容,如果存在的話。$_SERVER['HTTP_REFERER']引導用戶代理到當前頁的前一頁的地址(如果存在)。由 user agent 設置決定。並不是所有的用戶代理都會設置該項,有的還提供了修改 HTTP_REFERER 的功能。簡言之,該值並不可信。)$_SERVER['HTTPS']如果腳本是通過 HTTPS 協議被訪問,則被設為一個非空的值。$_SERVER['REMOTE_ADDR']瀏覽當前頁面的用戶的 IP 地址。$_SERVER['REMOTE_HOST']瀏覽當前頁面的用戶的主機名。DNS 反向解析不依賴於用戶的 REMOTE_ADDR。$_SERVER['REMOTE_PORT']用戶機器上連接到 Web 伺服器所使用的埠號。$_SERVER['SCRIPT_FILENAME']當前執行腳本的絕對路徑。$_SERVER['SERVER_ADMIN']該值指明了 Apache 伺服器配置文件中的 SERVER_ADMIN 參數。如果腳本運行在一個虛擬主機上,則該值是那個虛擬主機的值。$_SERVER['SERVER_PORT']Web 伺服器使用的埠。默認值為 80。如果使用 SSL 安全連接,則這個值為用戶設置的 HTTP 埠。$_SERVER['SERVER_SIGNATURE']包含了伺服器版本和虛擬主機名的字元串。$_SERVER['PATH_TRANSLATED']當前腳本所在文件系統(非文檔根目錄)的基本路徑。這是在伺服器進行虛擬到真實路徑的映像後的結果。$_SERVER['SCRIPT_NAME']包含當前腳本的路徑。這在頁面需要指向自己時非常有用。__FILE__ 常量包含當前腳本(例如包含文件)的完整路徑和文件名。$_SERVER['SCRIPT_URI']URI 用來指定要訪問的頁面。例如 /index.html。
❽ ThinkPHP 裡面的SERVER是什麼意思
php的mp取 $_SERVER信息,$_server是包含這些信息的一個數組。
❾ PHP中關於$_SERVER參數的問題
$_SERVER['argv']是一個只有一個元素的數組, 內容為URL的問號之後的字元串.
例如: a.php?a=1&b=2&c=3&d=4
則 $_SERVER['argv'] 的值為:
array (
0 => 'a=1&b=2&c=3&d=4'
)
這時候 $_SERVER['argc'] 的值為整數 1.
如果沒有問號或者問號後面為空, 則 $_SERVER['argv'] 為空數組, 值為 array(), 而 $_SERVER['argc'] 值為整數 0.