2011-10-28 6 views

答えて

4

ファイルは10回含まれます。それが問題だ場合

、あなたがチェックするために十分なinclude_once

+0

について

もっと? – Macmee

+0

まあ、そうです:P時にはあなたは*それが10回含まれることを望みます。 – sdleihssirhc

1

シンプルな使用することができます - そこに)(睡眠を入れて、いくつかの出力を行うファイルを持っているし、睡眠期間の1時に、変更したファイルを修正しますその出力。

whatever.php:スリープの間に、次に

​​

、別のシェルを使用して、 "バージョン2.0" に変更します。出力が変更されない場合、PHPはファイルを一度ロードしてキャッシュします。ファイルの出力/エフェクトのコピーが10個ありますが、PHPがディスクに10回ヒットしなかったことがわかります。

+0

PHPでインクルードメソッドの動作を判断する良い方法、ありがとう:) – Macmee

0

ファイルが解析されずにメモリからインクルードされ、PHPバイトコードにコンパイルされるかどうかを尋ねる場合は、次のようにします。 - 指定ファイルをインクルードすると、同じファイルをn回処理しますn回。これはPHPの標準的な動作ですが、...

あなたはそれを変更することができます(それはあなたが探しているようです)。私が言ったように、PHPはファイルを最初に含まれていますし、あなたはAPCのような任意のPHPのキャッシュモジュールを使用している場合を除き...あなたのためにそれをキャッシュしません。

、物事が異なることを行っているAPCを使用して出力結果は同じになりますが、サーバーの動作が大きく変わります!最初にファイルをインクルードすると、解析され、PHPのバイトコード(機械可読命令)にコンパイルされ、共有メモリに格納されます。後で、指定されたファイルが変更されない限り、NOTが再度処理されます。 PHPはあなたのプログラムのコンパイル済みバージョンに直進して実行し、多くの時間とリソースを節約します!トラフィックの多いWebアプリケーションに適しています。私はそれだけで、それは一度、その後、他の9回に何も表示されないなどが文句を言わないforループでのinclude_onceを入れた場合はAPC here

関連する問題