簡體   English   中英

$ _SERVER super global在PHP中的來源是什么?

[英]what is the source of the $_SERVER super global in PHP ?

在命令行上運行腳本:

php testfile.php

該文件包含以下內容:

echo print_r($_SERVER, true);

我注意到它在終端輸出中具有JAVA_HOME和PATH變量。 我嘗試將自己的變量添加到/ etc / environment(Linux)中,假設它正在使用此類變量,但它們沒有出現。

那么這些變量在哪里定義,我可以添加自己的變量嗎?

根據$_SERVER超全局變量上的PHP文檔

該數組中的條目由Web服務器創建。 不能保證每個Web服務器都可以提供其中的任何一個。 服務器可能會省略某些服務器,或提供此處未列出的其他服務器。 也就是說,在» CGI / 1.1規范中考慮了很多這些變量。

因此,實施取決於您的Web服務器軟件。 對於Apache,某些索引(如REMOTE_HOST )來自配置文件httpd.conf

從PHP文檔(我建議):

$ _SERVER是一個包含標題,路徑和腳本位置等信息的數組。 該數組中的條目由Web服務器創建。 不能保證每個Web服務器都可以提供其中的任何一個。 服務器可能會省略某些服務器,或提供此處未列出的其他服務器。 就是說,在»CGI / 1.1規范中考慮了很多這些變量,因此您應該可以期待這些變量。

請參閱此處以獲取更詳細的說明: http : //php.net/manual/zh/reserved.variables.server.php

例如,您可以使用SetEnv ENVIRONMENT "production"在apache配置中設置環境變量。

還要看一下這個問題和答案如何為PHP設置全局環境變量

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM