2012-03-24 83 views
1

我已經使用下面的代碼來獲取文檔根目錄。php使用文檔根目錄包含文件問題

$path = get_file_dir(); 
function get_file_dir() { 
    global $argv; 
    return realpath($argv[0]); 
} 

下面的代碼包含config.php和config.php的$ setuprun變量的值。

if((file_exists("$path/admin/config.php"))) { 
include_once "$path/admin/config.php"; 
} 
if($setuprun=="true") { 
    //do some code 
} 

在我的系統,它需要的文檔根目錄例如/ home/MYNAME/myfolder然後變量$ setuprun具有價值和代碼完美的作品。

但在另一個用戶的系統中,它顯示以下錯誤。

說明:未定義變量:在/usr/local/www/chat/setup.php setuprun上線22

他用FreeBSD 8.2穩定與MySQL 5,PHP5和Apache 2.2。

任何人都可以請幫我解決這個錯誤嗎?

回答

0

試試這個..

define('setuprun',true); //清除錯誤

,這不是setuprun ==真..

如果(定義( 'setuprun'))

+0

嘗試echo $ path;並使用debbuger來查看你在遇到問題的系統上所處理的內容。甚至更好地移除「if((file_exists(」$ path/admin/config.php「)))」並等待debbuger告訴你問題在哪裏。 – Xfile 2012-03-24 05:51:36

0

未定義的變量意味着你沒有定義setuprun ...如果你在另一個文檔中定義了這個變量,你必須檢查它是否包含在使用它定義的變量之前。

並嘗試使用dirname(__FILE__)而不是$ argv [0]

+0

$ path的值爲/ usr/local/www/chat。 /usr/local/www/chat/admin/config.php是否可以包含config.php? – nithi 2012-03-24 05:25:20

+0

如果你的根目錄是'user' - 是的! – Harry 2012-03-24 05:29:06

+0

$ argv變量僅在從命令行運行腳本時起作用 – Harry 2012-03-24 05:31:34