爲了安全起見,我試圖將我的配置文件放置在文檔根目錄之上,並試圖在我的本地開發機器(xampp)以及bluehost上執行此操作,並且在兩種情況下都有include_once ($_SERVER['DOCUMENT_ROOT'].'../set/include.php')
無法在位於文檔根目錄之上的/set/
文件夾中找到我的文件。我已經嘗試了大部分在搜索中出現的選項,但我似乎無法使其工作。我這樣做是爲了安全,但我想知道是否有其他選項,如果它必須包含在webroot中?有什麼我缺少如php.ini修改等?如何使用PHP包含以上根目錄
回答
我已經通過明確設置路徑來完成此操作 - 即完全限定路徑。這可以在.htaccess
或php.ini
完成,具體取決於您的設置。然後當你包含php文件時,你不需要指定文件的路徑。
論'的.htaccess'
php_value include_path ".;c:\desiredpath"
論'的php.ini我的共享服務器」
include_path = ".:/home/username/desiredpath"
我更喜歡這種方法。欣賞它。 – Habitat
我的php.ini有一個爲unix設置的包含路徑,如「。:/ usr/php/54/usr/lib64:/ usr/php/54/usr/share/pear」。覆蓋這個可以嗎? – Habitat
您可以追加到路徑。 Unix上用冒號分隔路徑,用分號分隔Windows。因此,在你的情況下,路徑是'「。/ usr/php/54/usr/lib64:/ usr/php/54/usr/share/pear:/ usr/php」'或者任何想要添加到結束而不是'/ usr/php'。除非你沒有在上面提到的pear目錄中使用文件 - 在這種情況下,只需要覆蓋(以防備)。 – mseifert
基本上我的本地主機,問題就出在這裏:
include_once ($_SERVER['DOCUMENT_ROOT'] . '../set/include.php')
^
它缺少一個斜槓,導致像/htdocs../set/include.php
這樣的路徑。
這就是說,你可以使用dirname()
,這樣就可以通過一個絕對路徑:
include_once dirname($_SERVER['DOCUMENT_ROOT']) . '/set/include.php';
- 1. PHP - 使用GET包含cms(以上web根目錄),如何包含cms索引中的其他文件?
- 2. PHP文檔根目錄包含
- 3. 如何從根目錄中包含stdafx.h?
- 4. php使用文檔根目錄包含文件問題
- 5. 如何PHP從域的根目錄包含?
- 6. PHP包含路徑。它可以始終來自根目錄嗎?
- 7. php從根目錄包括
- 8. 在php中包含目錄
- 9. 如何使用PHP將最新文件包含在目錄中?
- 10. 如何使用PHP包含跨多個目錄/子目錄與相對路徑
- 11. 使用php刪除目錄但不包含內容使用php
- 12. 在IIS7上使用虛擬目錄的PHP相對包含
- 13. 使用html2text設置目錄以包含子目錄
- 14. 如何在PHP中包含public_html目錄之上的文件?
- 15. 如何在CentOS 6.4上使用tar包含一個目錄和/或子目錄
- 16. 包含根目錄的Ant dirset
- 17. 包含目錄
- 18. CMake - 包含項目以外的目錄
- 19. 如何從PHP根本包含
- 20. 如何使用CMake從根文件夾外部添加包含目錄?
- 21. 如何在boot.img的根目錄中包含一個文件?
- 22. 如何包含位於根目錄之外的文件?
- 23. 如何包含在你的文檔根目錄之外的CKeditor
- 24. 共享主機 - 如何在web根目錄下包含文件?
- 25. 如何編輯@INC條目以包含模塊的新目錄
- 26. PHP:如何從用戶目錄中獲取文檔根目錄?
- 27. PHP包含文件2目錄返回
- 28. 包含目錄圖像的PHP郵件
- 29. php包含在html文件目錄中
- 30. 在PHP中包含整個目錄或用於PHP中的通配符包含?
檢查DOCUMENT_ROOT的值。通常沒有拖尾路徑分隔符。 – mario
'include_once dirname($ _ SERVER ['DOCUMENT_ROOT'])。 '/set/include.php';' - 不妨使它成爲絕對路徑。 –
@mario C:/ xampp/htdocs就是它在家裏顯示的內容。所以技術上C:/ xampp/htdocs /../set/不會把我一個目錄放到/ set /文件夾中嗎? – Habitat