我想在一臺新服務器上設置一個我不是原始所有者的網站 - 在Apache2中,文檔根目錄已經設置爲/ var/www/html,這是index.php所在的位置我想成爲默認的'主頁'所在地。如何使require_once從上面的目錄中獲取文件?
www中的其他目錄中有許多文件。例如,/common/cachelite/Lite.php也可以在/ var/www中找到。
的index.php中引用的這個PHP使用require_once,象下面這樣:
error_reporting(E_ALL);
ini_set('Display_errors','On');
require_once('../common/cachelite/Lite.php');
但引發以下錯誤,我已經從我的Apache2 error.log中採取:
PHP Fatal error: require_once(): Failed opening required '../common/cachelite/Lite.php' (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/html/index.php on line 4
的文件本身肯定存在,所以任何人都可以爲我解釋這個問題?這是怎麼回事?
'require' /'include'不受Web服務器的文檔根限制。這是一個只存在於網絡服務器中的概念。 PHP只能看到文件系統,並且可以訪問其包含的用戶ID有權訪問的任何文件/目錄。 –
我以爲這麼多,但然後事實上,我似乎無法要求這個文件,讓我質疑我自己的知識...... – Newnab
在與您的PHP腳本相同的目錄打開一個shell。然後找出'../什麼'路徑應該從腳本所在的位置到包含文件的位置。這將是您在PHP中需要的路徑。 –