2012-03-24 10 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 
} 

は、それが値を持つドキュメントルート/ホーム/ MYNAME/myfolderなどと変数$ setuprunのように取り、コードは完璧に動作します。

しかし、別のユーザーのシステムでは、次のエラーが表示されます。

注意:未定義の変数:行に/usr/local/www/chat/setup.phpでsetuprun 22

彼は、MySQL 5、PHP5とApache 2.2で安定のFreeBSD 8.2を使用しています。

誰でもこのエラーを解決するのに手伝ってください。

答えて

0

(真、 'setuprun')を定義する。これを試してみてください。 //場合には(定義された( 'setuprun'))..

を誤り

この代わりにsetuprun ==真をクリアする

+0

エコー$パスをお試しください。あなたが問題を抱えているシステムであなたが扱っているものを見るためにdebbugerを使用してください。 "if(($ path/admin/config.php)))))") "を削除して、debbugerがどこに問題があるのか​​を待ってください。 – Xfile

0

未定義の変数は、あなたのsetuprunを定義していないことを意味します...この変数を別のドキュメントで定義する場合は、定義されている変数を使用する前にその変数が含まれているかどうかをチェックする必要があります。

と使用dirname(__FILE__)ではなく、$ ARGVのを試してみてください[0]

+0

$ pathの値は/ usr/local/www/chatです。 /usr/local/www/chat/admin/config.phpにはconfig.phpを含めることができますか? – nithi

+0

ルートディレクトリが 'user'の場合 - はい! – Harry

+0

$ argv変数は、コマンドラインからスクリプトを実行する場合にのみ機能します – Harry

関連する問題