web-dev-qa-db-ja.com

Windows上のphp.ini open_basedirの複数のパス

Windowsサーバーのphp.iniで、php open_basedir設定値に複数のパスを使用しようとしています。

私が使用している行は次のとおりです。

open_basedir = E:/Websites;C:/PHP/includes/

残念ながら、2番目のエントリは無視されます。 C:/ PHP/includesディレクトリ(この例ではPHPUnit)でコードを実行しようとすると、

PHP警告:require():open_basedir制限が有効です。 File(C:\ PHP\includes\PHPUnit\PHPUnit-3.6.10\PHPUnit\Autoload.php)は許可されたパス内にありません:(E:/ Websites) in C:\ PHP\includes\PHPUnit\PHPUnit-3.6.10\phpunit.php(41行目)

パスリストの2番目の項目も表示されていないことに注意してください。誰かが私が間違っているところを見つけることができますか?

セミコロン(;)はコメントを表すと思いますか?もしそうなら、マニュアルではそれを明確にしていないので、どうやってエントリを分離するのですか?

6
Hippyjim

引用符を付けることを忘れないでください"パス全体を囲み、AFAIRウィンドウは別の表記を使用していますか?そのようなsthを試してください:open_basedir = "E:\Websites;C:\PHP\includes"

5
Slav

同じ問題がありました。

単純なコロンを使用する:をセパレータとして使用すると、機能します。

明確にするための注意:「Windowsでは、ディレクトリをセミコロンで区切ります。他のすべてのシステムでは、ディレクトリをコロンで区切ります。」 ( php docs から)

3
Stefan