ホームページ >バックエンド開発 >PHPチュートリアル >PHP バイトコード キャッシュと組み込みサーバーの詳細

PHP バイトコード キャッシュと組み込みサーバーの詳細

小云云
小云云オリジナル
2018-01-26 14:18:381932ブラウズ

1) PHP5.0 以降、Zend OPcache と呼ばれる組み込みのバイトコード キャッシュ機能があります。 PHP はインタープリター型言語であるため、PHP インタープリターが PHP スクリプトを実行すると、PHP スクリプト コードが解析され、一連の Zend オペコードが生成されて、バイトコードが実行されます。これはすべての HTTP リクエストに当てはまり、大量のデータを消費します。セクション コード キャッシュは、プリコンパイルされたバイトコードをキャッシュできるため、応答時間が短縮され、システム リソースへの負荷が軽減されます。

Zend OPcache を有効にする

デフォルトでは、Zend OPcache は開始されていません。 PHP を自分でコンパイルする場合、コマンドの実行時に次のオプションを含める必要があります:

--enable-opcache

PHP をコンパイルした後、以下に示すように、php.ini ファイルで Zend OPcache の拡張パスも指定する必要があります:

zend_extension=/path/to/opcache.so

PHP がコンパイルされた後正常にコンパイルされると、Zend OPcache 拡張機能のファイル パスがすぐに表示されます。次のコマンドを使用してこの PHP 拡張機能のパスを見つけることができます

php-config --extension-dir

次に、次のコードを使用して拡張機能が正常に実行されていることを確認します

<?php
phpinfo();

Zend OPcache を構成します

推奨構成

opcache.validate_timestamps = 1 //在生产环境中设为'0'
opcache.revalidate_freq = 0
opcache.memory_comsumption = 64
opcache.interned_strings_buffer = 16
opcache.max_accelerated_files = 4000
opcache.fast_shutdown = 1

PHP 公式 Web サイトにアクセスできますをクリックして詳細設定を表示します。

Zend OPcache を使用します

1) 運用環境では opcache.validate_timestamps=0 を設定できます。開発環境では、1

内蔵HTTPサーバー

1)に設定する必要があります。php -S localhost:4000 -c app/config/php.ini

2)。サポートされました。コントローラーモードがサポートされていないことを意味します。フロントエンド コントローラーは、すべての HTTP リクエストを転送するために使用されます。これは、.htaccess ファイルまたは書き換えルールを通じて実装する必要があります。

3) ルータースクリプトを使用して上記の機能を実現できます。ただし、少数の URL 書き換えルール (php -S localhost:8000 router.php

4) のみをサポートします。使用するサーバーを決定します:

<?php
if (php_sapi_name() === 'cli-server') {
 //php内置服务器
} else {
 // 其他Web服务器
}

特別シリーズ

PHP 特別シリーズのディレクトリ アドレス: github.com/xx19941215/…

PHP トピック シリーズは約 20 記事になる予定で、主に日常の PHP 開発で見落とされがちな基本的な知識と、最新の PHP 開発における標準化、展開、最適化に関する実践的な提案、およびJavascript 言語の特性を深く理解する研究。

関連する推奨事項:

PHPの内蔵サーバーの使用について

以上がPHP バイトコード キャッシュと組み込みサーバーの詳細の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。