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番目の項目も表示されていないことに注意してください。誰かが私が間違っているところを見つけることができますか?
セミコロン(;)はコメントを表すと思いますか?もしそうなら、マニュアルではそれを明確にしていないので、どうやってエントリを分離するのですか?
引用符を付けることを忘れないでください"
パス全体を囲み、AFAIRウィンドウは別の表記を使用していますか?そのようなsthを試してください:open_basedir = "E:\Websites;C:\PHP\includes"
同じ問題がありました。
単純なコロンを使用する:
をセパレータとして使用すると、機能します。
明確にするための注意:「Windowsでは、ディレクトリをセミコロンで区切ります。他のすべてのシステムでは、ディレクトリをコロンで区切ります。」 ( php docs から)