最近,我安裝了一個新的Ubuntu服務器,它包含了PHP7。以前,在PHP5.3上(或者它可能是PHP5的後續版本,我可以使用返回服務器主路徑的$_SERVER['HOME']
(即/ var/www /)。但是,這在PHP7中不可能是$ _SERVER ['HOME']不再是。
如果我有一個擁有/ var/www // httpdocs文檔根的網站,我該如何獲取/ var/www/part。我無法對其進行硬編碼因爲我的測試服務器(Synology NAS)不使用PHP7,也無法升級到PHP7,因此我需要使用一個恆定的PHP5和PHP7變量來返回相同的結果,以便得到與$ _SERVER相同的結果[ 'HOME']在PHP5中完成了。
我試過使用$_ENV['HOME']
,但是當執行一個簡單的die($_ENV['HOME']);
時,這似乎不會在我的系統中打印任何內容編輯。
有人能讓我擺脫我的痛苦嗎?
謝謝
只需要注意:'$ _SERVER [「HOME」]從來不是標準的PHP提供的頭文件。這可能是因爲網絡服務器現在也是不同的版本。只要做一個'print_r($ _ SERVER)'你就可以找到你需要的東西。 – apokryfos
感謝@apokryfos。我曾嘗試過,但唯一能看到的是文檔根目錄,但我需要它作爲文檔根目錄的父項。也許我需要看看「string dirname(string $ path [,int $ levels = 1]);」。你會贊同嗎? – Adelphia
那麼,首先你可以嘗試'getenv(「HOME」),最糟糕的情況是'exec(「echo〜」)'試圖讓它更可靠。如果不是,那麼假設您在所有環境中都保持類似的設置,那麼您的建議將會起作用。 – apokryfos