私はこれほど多くのことを考えたことはありませんが、php include
(またはrequire) を実行すると正確に何が起こるのか興味があります。
私はいつも、PHPページがロードされると、実際にファイルをインクルードする(そしてディスクにアクセスする)のではなく、PHPコンパイル済みコード(つまりAPC)のメモリキャッシュをチェックすると想定していました。
しかし、それから私は考えていました.PHPはファイルがいつ変更されたのか(そして再コンパイルされたのか)をどのように知るのでしょうか? ロード時にディスクをチェックする必要はありませんか? これが ( APC、ディスク ヒット、および requires/includes によると) 絶対パスの現在のディレクトリを確認する必要があるため、相対ファイル名を含めることが絶対よりも悪い理由です (同じ名前のファイルが 2 つある場合)。そのため、一部の非常に大きなフレームワークでは、ファイルが変更されたかどうかを確認するために多くのディスク ヒット チェックが行われるように思えます。
それとも、APC がオンになっている場合、起動時に手動でキャッシュをクリアする必要があるということですか?