6

.htmlmod_php にファイルを強制的に取り込むとしましょう。これらのファイルの 1 つに PHP コードが含まれていないとします。

APC を有効にしてそのファイルを参照するとどうなりますか? キャッシュされますか、それともディスクから読み取る必要がありますか?

他のシナリオでは、.phpファイルがあります。PHP タグの外側のコンテンツはどうなりますか? メモリに保存されますか?それとも、毎回ディスクから読み取る必要がありますか?

4

1 に答える 1

7

APC を有効にしてそのファイルを参照するとどうなりますか? キャッシュされますか、それともディスクから読み取る必要がありますか?

.htmlファイルが PHP として解析されるように設定されている場合、そのファイルはキャッシュされます。並べ替え。

具体的には、PHP はドキュメントの optree を生成します。これは、1 つの非常に大きな文字列定数を含む、非常に短く退屈なプログラムになります。これは最終的にメモリに格納されます。mod_mem_cacheただし、それがすべての目的である場合は、実際には静的コンテンツをキャッシュするように設計されているため、代わりに (memcached とは関係のない!) のようなものを使用する方がはるかに優れています。

もう 1 つのシナリオでは、.php ファイルがあります。PHP タグの外側のコンテンツはどうなりますか? メモリに保存されますか?それとも、毎回ディスクから読み取る必要がありますか?

前に触れたように、PHP タグの外側のコンテンツは依然として PHP "プログラム" の一部として扱われ?> ... <?phpます。にあるかのように効果的に扱われecho "..."ます。(ただし、その文字列内でのエスケープに関連するすべての問題がないことを除きます。) たとえば、次の 2 つのコード ブロックは、空白のいくつかの違いを除いて、機能的にほぼ同じです。

<?php
  if ($condition) {
      echo "Hello";
  }
?>

対。

<?php if ($condition) { ?>
    Hello
<?php } ?>
于 2012-10-18T17:16:31.420 に答える