PHPについて

WBOY
リリース: 2016-06-23 14:30:58
オリジナル
942 人が閲覧しました

テスト環境: Windows 2003 + PHP5.3.5 + Apache 2.2.19.0

php.ini の include_path は次のように設定されます: include_path="D:php_5.3.5pear;F:PHPLib;" . include_path .現在の作業ディレクトリを表します

include は、初めてファイルを見つけた後に結果をキャッシュします。次回同じパスをインクルードすると、複数の検索を行わずにキャッシュされた結果のみがフェッチされます。これにより、ファイルを削除した後、短時間エラーが報告されます (インクルード メカニズムが、ファイルへのパスを検出するため)。キャッシュされた結果は存在しないため、次のレベルに検索するとエラーが発生します)。したがって、テストする場合は、インクルードの前に clearstatcache(true) を追加するか、ファイルの名前変更または削除の直後に Apache を再起動して、インクルードごとに複数の検索を強制する必要があります。

ps: include のキャッシュ メカニズムの具体的な説明: include は複数の検索を順番に実行しますが、特定のレイヤーがキャッシュされていることが判明した場合は、そのレイヤーのキャッシュ結果パスに関係なく、すぐに検索から抜け出します。存在します。 つまり、第 1 レベルのファイルが存在するにもかかわらずそれを削除すると、インクルード キャッシュが有効であるにもかかわらず、インクルード エラーが発生します。第 1 レベルのファイルが存在せず、第 2 レベルのファイルが存在し、第 1 レベルのファイルを作成した場合、そのファイルはすぐに有効になり、インクルード キャッシュの影響を受けません

1.include('2.php' );

「2.php」は相対パスに基づいて検索を開始しないことに注意してください。 複数の検索シーケンスは次のとおりです:

(1) 絶対パスの場合、絶対パスが存在するかどうかを直接検索します

(2) まずphp.iniから設定します include_pathディレクトリ内のファイルを探します(include_path内の各ディレクトリをたどります)

(3) 次にこのステートメントを呼び出しているファイルが属するディレクトリ(__DIR__)からファイルを見つけます

(4) 最後に、現在の作業ディレクトリからファイルを検索します (getcwd()) ファイルの検索


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート