2017-03-27 81 views
0

在PHP源代碼中,我在服務器A的一個域中回顯出$_SERVER,並且得到的返回的數據列表包括DOCUMENT_ROOTGATEWAY_INTERFACE等。但是,在服務器B的另一個域中當我回應同樣的事情時,沒有回報我。我能知道爲什麼嗎?

+2

可能重複[$ \ _ SERVER \ ['PHP \ _AUTH \ _USER'\]爲空](http://stackoverflow.com/questions/12558025/serverphp-auth-user-is-empty) – JezEmery

+2

由於其名字暗示,'$ _SERVER'打印服務器變量,所以如果切換服務器輸出將會不同。 –

+0

請參閱[$ _SERVER PHP文檔](http://php.net/manual/en/reserved.variables.server.php)上的第一段:*「並不保證每個Web服務器都會提供這些內容「* – domsson

回答

1

只是總結評論,包括我自己的。

此數組中的條目由Web服務器創建。不能保證每個Web服務器都能提供這些內容;服務器可能會省略一些,或者提供這裏沒有列出的其他人。

PHP manual on $_SERVER

雖然大多數服務器將提供內$_SERVERat least certain values,沒有保證。以不依賴於$_SERVER的內容的方式設計您的代碼,或者確保您要在生產中使用的服務器確實提供了實際上提供了您需要的值。