引用:
PERL と PHP のインクルード パスは、主にオペレーティング システムと WEB サーバーに関連する常に難しい問題であり、このパスの問題を非常にインテリジェントに解決することは不可能です。 PERL と比較すると、PHP のパスははるかに優れており、解決がはるかに簡単です。特定のステートメントで絶対パスを使用する必要がある PERL とは異なり、PHP の相対パスは PHP プログラムのあらゆる場面で使用できるため、移植は非常に複雑になります。
これに基づいて、以下に説明するように、PHP で絶対確実なソリューションを設計しました。
原則:
相対パスを使用しますが、相対パス内では絶対パスを使用します (詳細は後で説明します)。第 1 に、移植性が確保され、第 3 に、構造が明確で、簡単に変更できます。拡大する。
詳細な手順:
1. まず、プログラムのルート ディレクトリを決定します。これは、WEB サーバーの仮想ディレクトリではなく、ファイル システムの下にあることに注意してください。ただし、そのディレクトリの下のサブディレクトリの相対パスは、通常、そのディレクトリの下の仮想サブディレクトリと同じです。のURL。
2. 定義したプログラムのルート ディレクトリの下の各サブディレクトリに settings.php を作成し (必要に応じて実際にはすべてではありません)、その中に次のような変数または定数を定義します (スコープが大きいため、定数の方が適しています)。 APPROOT ですが、この APPROOT は絶対パスではなく、指定したプログラム ルート ディレクトリを基準としたディレクトリの相対パスです。
3. このディレクトリ内のすべてのプログラム エントリ ファイル (つまり、他のファイル、またはブラウザでの直接参照を許可するファイルを含む最初のファイル) の最初の文に require_once('settings.php'); を書きます。この文をすべてのインクルードファイルに追加しないことをお勧めします