1

PHPマニュアルには次のように記載されています。

open_basedir (文字列)

PHP がアクセスできるファイルを、ファイル自体を含めて、指定されたディレクトリ ツリーに制限します。このディレクティブは、セーフ モードがオンかオフかに関係なく影響を受けます。

スクリプトが include や fopen() などを使用してファイルシステムにアクセスしようとすると、ファイルの場所がチェックされます。ファイルが指定されたディレクトリ ツリーの外にある場合、PHP はそのファイルへのアクセスを拒否します。

また、もう少し...

open_basedir は、ファイルシステム機能以外にも影響を与える可能性があります。たとえば、MySQL が mysqlnd ドライバーを使用するように構成されている場合、LOAD DATA INFILE は open_basedir の影響を受けます。PHP の拡張機能の多くは、このように open_basedir を使用しています。

ただし、この制限はソケット操作には及ばないようです。私のサーバーでは、 に設定open_basedirしても、関数を介して/home:/tmp下のソケット ファイルにアクセスできます(( ) をまたはの下のねじれた場所に移動していないことに注意してください)。/runsocket_connect/var/run/run/home/tmp

の制限を拡張open_basedirしてソケット ファイル* パスを含める方法は/homeあり/tmpますか?

* ソケット ファイルは実際には「開かれる」のではなく、socket_connect関数とbindシステム コールによって「バインドされる」ことを理解しています。ただし、open_basedirファイルシステム以外の機能に適用されるようです...方法があると思います。

4

0 に答える 0