2017-01-10 26 views
0

我正在學習PHPw3schools的PHP教程。我使用PHP 7.0.13很少有服務器變量被添加,並且很少有人在PHP 7中被刪除?

雖然學習我遇到的全局變量的概念 - 超級全局

This is the page from where I'm learning Global Variables - Superglobals

注:請到上面的鏈接來檢查服務器變量上市。

在這個頁面上,我和所有的服務器變量嘗試,但我得到注意未定義指數爲以下幾個服務器變量:

  1. $_SERVER['HTTP_ACCEPT_CHARSET']
  2. $_SERVER['HTTPS']
  3. $_SERVER['REMOTE_HOST']
  4. $_SERVER['SCRIPT_URI']

對於上述每個變量,我嘗試了下面的代碼。例如:

<!DOCTYPE html> 
<html> 
    <body> 
    <pre> 
    <?php 
     echo $_SERVER['PATH_TRANSLATED'];//like this I tried for other three server variables also 
    ?> 
    </pre> 
    </body> 
</html> 
從這個

除了我也觀察到一些新的服務器變量是有數組$_SERVRER中,當我試圖print_r($_SERVER);

所以要執行的代碼,我的問題是有幾個舊服務器變量目前在PHP5中已被刪除的PHP7和其他幾個已被添加?

我也試着檢查PHP文檔但我也不知道這件事。

所以,請有人請澄清我的疑惑。

謝謝。

+1

http://php.net/manual/en/migration70。php – RiggsFolly

+2

哪些值幾乎完全取決於* web服務器*,它將它們傳遞給PHP(是的,這就是爲什麼它們在$ _SERVER超全局中)。那麼......你在運行什麼Web服務器? – deceze

+0

@deceze:我使用Apache/2.4.23(Win32) – user2839497

回答

4

$_SERVER內容主要是由web服務器創建的,如documented here

$ _SERVER是含陣列的信息,如標題,路徑, 和腳本的位置。 此數組中的條目由Web 服務器創建。我們不保證每個網絡服務器都會提供這些的任何 ;服務器可能會省略一些,或者提供這裏沒有列出的其他人。也就是說,大量的這些變量在CGI/1.1規範中都有說明,所以你應該能夠期待這些。

所以PHP在這裏做的事情很少。