2010-05-18 33 views
1

我有2臺服務器在完全獨立的操作系統和配置上。一個正確接受require_once '../file.php';,另一個不接受,因爲它相對於我猜測的cron加載的位置。在cron中啓用適當的相對路徑

如何修復第二個位置,使其相對路徑來自文件的相對路徑。我需要在3個不同的環境(本地,測試版和現場)中工作,所以我不想在這個頁面上寫一堆代碼,如果可能的話我更喜歡配置調整。

+0

[相對路徑不能在cron PHP腳本中工作]的可能的重複(http://stackoverflow.com/questions/1969374/relative-path-not-working-in-cron-php-script) – 2014-03-19 06:11:36

回答

2

__FILE__將指定當前腳本的完整文件路徑。

realpath()將具有相關組件的路徑轉換爲絕對路徑。

這應該工作:

require_once (realpath(dirname(__FILE__)."/../file.php")); 
3

沙內的工作目錄到正在運行的文件路徑。只需在運行文件中使用

chdir(dirname(__FILE__));

include_once '../your_file_name.php'; //we can use relative path after changing directory

。那麼你不需要在所有頁面中改變每一個相對於絕對路徑的路徑。這對我來說很好。