ときにプログラム PHP で、 web サーバー 普段の群衆 含まれています o 必要です。 web アプリケーションの他のファイル. いずれかのために、いくつかのクラスまたは特定の関数, 容易にするため, モジュール性、コードを整理し、, よく分類、構造化ファイルの別のシリーズで見つけることができます。.
包含または内のファイルの要求 PHP, 関数を使用してファイルへのアクセス、あるいは fopen, パスが正しい場合です。, 通常は問題を与えない, しない限り、問題のファイル, またはそれをホストするディレクトリ, ない、 アクセス許可 関連読書. 他の回が、, としてかどうか セキュリティ対策 またはその他の理由, アクセスを必要とする人にファイル私たちのプロジェクトの web フォルダー外にあります。, すなわち, フォルダーの 下位レベル にのの、 フォルダーのルート 当社のウェブサイトの.
おそらく発生した回, しようとすると 外へのアクセスします。 の、 フォルダーのルート あなたのウェブサイトの, あなたが持っているシステム 拒否 アクセス, それでも、同じもののための必要なアクセス許可, 次のメッセージ:
1 | open_basedir restriction in effect. File(../ruta/archivo.php) is not within the allowed path(s) |
これは、ことを教えてくれる、 ディレクティブ PHP, open_basedir, は 防止します。 私は、ファイルがある場所に行く. 説明する際, open_basedir ディレクティブは、あるを示す、 制限 PHP は、パスまたは指定したディレクトリ ツリーにアクセスできるファイル, このように, 場合に使用するファイル 以下に 同じの, システムはこれが降伏されます。 エラー.
Php.ini ファイルを変更します。
ファイルでこのポリシーが構成されています。 PHP.ini, しかし、加えて, それはまたで有効にすることができます、 構成ファイル の Apache. このように, このエラーに対処する最初のステップとして, しなきゃいけません アクセス 構成ファイル PHP, 問題の行を探し、または許可されている複数のルートを変更.
1 2 3 4 5 6 | //php.ini ... ... open_basedir = "/ruta/webs/miweb/www:/ruta/webs/miweb" ... ... |
この前の例では, PHP が、システムは両方のすべてにアクセスできるように構成されている、 高いレベル を始まってください。 /ルート/ウェブ/miweb/www, すべてのトップとして /ルート/ウェブ/miweb, 様々 なファイルやフォルダーのアクセス許可である、従って許可.
一度ファイルを変更 PHP.ini と 再起動 、 web サーバー, 問題のファイルへのアクセスが行われることができるはずと, したがって, エラー それは離れて行く必要があります。.
Apache の設定ファイルを変更します。
はいまだ エラーが発生します。, 非常に高いことで、 構成ファイル の Apache このディレクティブが有効にもしています。. これを行うに, ファイルを検索します。, インストールに応じていくつかのルートまたは他になります, 通常 /等/apache2/ あるいはで /ホーム/あなたのユーザー conf/ウェブ//. 通常、ファイルは名前です。 apache2.conf o sapache2.conf, 使用するかどうかによって HTTPS かどうか.
いったん内部, エントリを検索します。 <バーチャル ホスト> 問題のドメインの, タグ内で、 <ディレクトリ> 次のように表示されます。:
1 2 3 4 5 6 7 | <Directory...> ... ... php_admin_value open_basedir /ruta/webs/miweb/www:/ruta/webs/miweb ... ... </Directory> |
それはこのディレクティブを構成しています。. ような単純です 変更 o 追加 このディレクティブを有したいルート, 保存 変更と サーバーを再起動します。. 一度作った, 、 エラーが消えてしまいます.
この方法でアクセスできます。 含まれています, 必要です。 あるいは、関数を使用して fopen ファイルに 以下に の、 ルート あなた web サイト, 特定を必要とするこれらのルート ファイルに可能性があります。 セキュリティのレベル, そしてこのようにエラー “open_basedir 制限の効果” コメント, 完了します。 消える.