我覺得自己像一個白癡,但我無法弄清楚什麼是錯的,我嘗試過的每個解決方案(列在下面)都失敗了。PHP不搜索包含路徑
問題:
這不起作用:
$settings = file_get_contents('settings'); \\ should search current directory
哪裏是這個文件在什麼位置?
/apps/foxyman/model/settings
我曾嘗試:
在
php.ini
更改include_path指令到::/應用/ foxyman
然後重新啓動Apache的。是的,我確實運行了
phpinfo();
並驗證它已設置。將doc_root指令更改爲
php.ini
和中重複的Apache。改變權httpd.conf文件文檔根目錄設置:
DocumentRoot "/apps/foxyman"
$settings = file_get_contents('model/settings'); // should search include_path
,沒有這個工作。
是的,我知道有可能的其他解決方案涉及到在每個文件中設置包含路徑,但我不想這樣做 - 我想解決它,而不是再想一遍。
對我來說,也許我只是一個白癡(你應該隨時讓我知道通過告訴我去殺了自己的評論),但它似乎很可笑,PHP無法找到該文件當前目錄AND似乎並未搜索我設置的包含路徑。在你問之前,是的,該文件確實存在。
一件事,這裏是以下方法的輸出:
echo getcwd();
echo get_include_path();
echo $_SERVER['DOCUMENT_ROOT'];
/apps/foxyman/model
.:/apps/foxyman
/apps/foxyman
什麼是目錄訪問權限?我的意思是,'/ model' _and_ PHP(= web服務器)可以訪問它的內容嗎? – raina77ow
file_get_contents()在默認情況下不使用include_path,您必須將它作爲第二個參數傳遞給true。 –
此外,請嘗試回顯getcwd()以查看它是否實際上是您的想法。 –