23

Web サイトをあるサーバーから別のサーバーに移行中です。現在の作業ディレクトリを使用する is_readable 関数を使用する php スクリプトがいくつかあります。

古いサーバーでは、getcwd() を呼び出すと、スクリプトが実行されているフォルダーが出力されます。新しいサーバーでは、ルート ディレクトリ '/' が出力されます。

「/」の代わりに現在のフォルダーを使用するように PHP を構成する方法を知りたいです。 古いサーバーで既に動作している PHP コードを変更する必要はありません。新しいサーバーを構成できますが、どの設定を変更すればよいかわかりません。それが役立つ場合、私はapache2を使用しています。

編集:私の作業ディレクトリは、思ったようにルートではないようです。testFile.php を作成して getcwd() をエコーすると、php ファイルがあるディレクトリが表示されます。

4

3 に答える 3

32

chdir(__DIR__);

また

chdir(dirname(__FILE__));

( chdir魔法の定数を参照してください)。

しかし、それはデフォルトである必要があります。

于 2011-03-10T00:17:55.463 に答える
8

これはCLI モードでは正常です。

作業ディレクトリをスクリプトのディレクトリに変更しません。(-C および --no-chdir スイッチは互換性のために残されています)

簡単な回避策は

chdir(dirname(__FILE__));
于 2011-03-10T00:18:56.567 に答える
2

PHP 5.3dirname(__FILE__)以上の場合は、スクリプトが存在する現在のディレクトリを取得できます。__DIR__

于 2011-03-10T00:18:21.720 に答える