ご存知のとおり、php はインタープリター言語であり、その実行は次のプロセスに分割できます:
スキャン (字句解析)、PHP コードを言語フラグメント (トークン) に変換
キャッシュテクノロジーが登場しました。
それでは、オペコードキャッシュとは何ですか? インタプリタはスクリプト コードの分析を完了すると、オペレーション コード (Operate Code、opcode) とも呼ばれる、直接実行できる中間コードを生成します。オペコード キャッシュは、コンパイルされたオペコード コードをメモリにキャッシュし、次回このスクリプトを実行するときに、キャッシュされたオペコード コードを直接見つけて、中間ステップを必要とせずに最後のステップを直接実行することを目的としています。 CPU とメモリのオーバーヘッドを削減します。 インタプリタはスクリプト コードの分析を完了すると、オペレーション コード (Operate Code、opcode) とも呼ばれる、直接実行できる中間コードを生成します。オペコード キャッシュは、コンパイルされたオペコード コードをメモリにキャッシュし、次回このスクリプトを実行するときに、キャッシュされたオペコード コードを直接見つけて、中間ステップを必要とせずに最後のステップを直接実行することを目的としています。 CPU とメモリのオーバーヘッドを削減します。 キャッシュ動作モード:opcacheは、オペコードキャッシュツールです。
Opcache と他のキャッシュ ツールとの最大の違いは、その利点とも言えますが、PHP ソース コード ツリーに組み込まれ、公式製品になっているのに対し、常に PHPで更新されることです。他のものは長い間更新されておらず、現在、新しいバージョンの PHP はサポートされていないか、互換性が不十分です。次に、テスト後、opcache は他のツールよりも効率的です。
では、opcache を有効にするにはどうすればよいでしょうか? opcahce が組み込みツールとして PHP ソース ツリーに追加されたため、推奨される構成は次のとおりです:zend_extension=.././...php_opcache.dll(路径) opcache.memory_consumption=128 #共享内存opcache.interned_strings_buffer=8 #存储临时字符串opcache.max_accelerated_files=4000 #缓存文件数opcache.revalidate_freq=60 #缓存时间opcache.fast_shutdown=1opcache.enable_cli=1 opcache.enable=1 #是否开启opcode缓存以前の; を削除するだけです。 もちろん、opcache には多くの構成があるため、ここではすべてをリストすることはしません。上記の構成は標準的な構成であり、一般的なニーズを満たすことができます。 理論的には、PHP ファイルが大きくなり、ロジックが複雑になればなるほど、opcache の効果はより明白になり、速度と同時並行性の点で大きな役割を果たします。 ローカル環境でのテスト結果は次のとおりです (コンピューターのパフォーマンスには限界があります):
サービスサーバーテスト:
効率が大幅に向上しました。opcache はファイルの最初の実行のオペコードをキャッシュするため、開発中にコードが何度も変更されることに注意してください。結果は変わりません... .
opcache キャッシュを手動でクリアするには、opcache_reset() を実行してクリアする必要があるため、opcache がオンラインで構成されており、クリアする必要がある場合は、この関数を使用できます。
以上がオペコードのキャッシュにより PHP がさらに強力になりますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。