[問this at SU;建議有在重新發布SO]
我們在使用PHP程序$ _ SERVER [「DOCUMENT_ROOT」]作爲一個地方,我們可以把一個私人目錄(使用唯一的名稱)的路徑服務器上一個安全,已知的地方。該目錄保存從多個可能的數千個服務的PHP頁面收集的數據摘要;該摘要對所供頁面的主要功能沒有影響,並且最終可以被忽略或刪除。雖然存在,但基於PHP的工具可以檢查摘要數據並提供報告。
這已經在多種PHP服務器的運行良好,似乎是 「自動」 設置根據PHP Manual documentation(?):
'DOCUMENT_ROOT'
The document root directory under which the current script is executing, as defined in the server's configuration file.
我們多年來安裝了幾個不同的PHP服務器,並且他們似乎都將預先配置爲合理的路徑,而不需要我們明確的配置工作。
我們有一些客戶使用我們的軟件,抱怨這條路徑似乎設置爲空,這與上面的定義似乎不一致。 (null表示一些特殊的路徑?)(其中一個客戶聲稱他們有(php -v)「PHP 5.6.16-3 + deb.sury.org〜trusty + 1(cli)... Zend Engine v2.6.0 ,...「和(uname -or)」3.19.0-25-generic GNU/Linux「[?? GNU/Linux ??]
Pardon我的無知,但是DOCUMENT_ROOT是一個可配置的項目嗎?我在哪裏可以找到服務器的「配置文件」嗎?它是否適用於所有不同的PHP服務器實現?是否可以/應該更改該配置文件以明確設置它未設置?
如果不是,有另一種方式,以提供一個安全的長期「臨時」本地目錄的路徑?
這是由webserver配置爲代碼運行的特定站點/虛擬主機設置的。在Apache中,這實際上是'DocumentRoot/foo/bar/baz'。這不是你可以(或者想要)在PHP中重寫的東西。 –
我不知道'$ _SERVER ['DOCUMENT_ROOT']'可能是'null',除非您通過命令行執行PHP,在這種情況下,沒有文檔根目錄。 – Mike