2012-11-10 75 views
0

在我的服務器,我的根目錄是:家庭如何包含位於根目錄之外的文件?

和所有公共文件(www目錄)中:家/的public_html

好吧,我希望把其他目錄中的某些文件出了www目錄,例如:家庭/配置,或家庭/ php_classes

而我想在這些目錄中的文件包含在www目錄中的一些文件。

基本上,我想回家/的public_html/index.php文件,包括那些在家庭/ CONFIGS和家庭文件/ php_classes

我已經試過:

include("../configs/site_config.php"); 
include("../php_classes/mailer.php"); 

include("/home/configs/site_config.php"); 
include("/home/php_classes/mailer.php"); 

但它不起作用,我不斷收到包含警告「沒有這樣的文件或目錄」

+2

有可能PHP沒有該目錄/文件的權限。你檢查過了嗎? –

回答

1

y我們的PHP代碼片段應該工作,所以首先仔細檢查文件確實存在確實

如果您確定沒有輸入錯誤,那幾乎肯定是一個權限問題。 PHP在Apache下執行,因此您需要爲Apache運行的用戶提供對該文件夾的訪問權限。最簡單的方法取決於操作系統,這裏有一個更深入的細節:How do I give PHP write access to a directory?

要測試這是否是問題,您可以臨時遞歸設置您嘗試訪問世界可讀/可執行文件(例如755)的目錄的權限。像chmod -R 755 /home/configs。如果PHP仍然沒有找到它,那麼你的問題在別處。一旦你確定了問題,一定要縮小權限,因爲除非你有充足的理由這麼做,否則你不想讓目錄的世界可讀或可執行。

相關問題