2012-09-11 8 views
17

構造は非常に似ているファイル発見されていません()が含ま:php /path/to/myscript.phpを実行するとPHP CLIは、私のファイルの

config.php 
script 
|--myscript.php 

myscript.php

<?php 
require '../config.php'; 
?> 

を私はWarning: require(../config.php): failed to open stream: No such file or directory.

いただきましたを取得します理由?現在の作業ディレクトリは、あなたがであなたのコマンドを呼び出す1、いないスクリプトが置かれているものですので、だ

+0

ではなく、相対的な一つで、絶対パスでそれを試してみてください。 – andrewsi

+0

うん、今非常に失望しています。 – nick

答えて

24

使用

代わり
require __DIR__ . '/../config.php'; 

__DIR__は、現在のディレクトリが存在するディレクトリを指し示すconstです。

1

おそらく間違った作業ディレクトリがあり、相対パスが予想される場所を指していない可能性があります。 PHPがどのように見えるかを確認するには、スクリプトの1行目として、

echo getcwd(); 

を追加してください。

1

あなただけcdスクリプトは、スクリプトを実行する前に、内で実行されることを想定していたディレクトリに、あなたのコードでrequire行を変更(またはできない)にしたくない場合は、次の

cd /path/to 
php /path/to/myscript.php 
6

php -d include_path=/path/to/config.php script.php 

-dを使用すると、任意の変更コード/のconfigs /ディレクトリを持っていないので、実行時にINIディレクティブを設定するために使用されています。私はそれを行う一つの方法は、このようなものです。あなたは絶対パスを使用するか、作業ディレクトリを変更する必要が

0

chdir(dirname(__FILE__));

関連する問題