解決PHP Include 的路徑問題
在提供的場景中,路徑/root/update/test.php 中的PHP 腳本嘗試將檔案connect.php 包含在/root/connect.php 中。雖然 test.php 中的包含成功,但 connect.php 中的後續包含無法找到必要的檔案 config.php。
由於 test.php 中的包含路徑設定為 而產生了混亂。 :/root,建議connect.php在目前工作目錄和/root目錄下搜尋config.php。但是,錯誤訊息表明 connect.php 實際上正在嘗試包含其自己目錄中的文件,其中 config.php 不存在。
要解決此問題,可以使用替代方法來確定必要的檔案路徑。
一種解決方案是使用 PHP 魔術常數 __DIR__,它表示目前檔案的目錄。透過將 dirname(__DIR__) 與所需的檔案名稱連接起來,可以提升目錄結構並存取所需的檔案。在這種情況下,test.php 中修改後的程式碼將是:
include(dirname(__DIR__).'/config.php');
另一種方法是使用 dirname(__DIR__) 定義根路徑並將其儲存在常數變數中。然後可以使用該根路徑建立必要的包含路徑。以下是 test.php 中的樣子:
define('ROOT_PATH', dirname(__DIR__) . '/'); include(ROOT_PATH.'config.php');
透過採用這些修改後的方法,PHP 腳本將能夠成功包含必要的文件,無論其運行的文件結構或部署環境如何。
以上是儘管包含路徑看似正確,但為什麼我的 PHP 包含失敗?的詳細內容。更多資訊請關注PHP中文網其他相關文章!