ホームページ  >  記事  >  バックエンド開発  >  php のカーネル構成と php コード実行プロセスの概要

php のカーネル構成と php コード実行プロセスの概要

不言
不言オリジナル
2018-09-04 17:35:573852ブラウズ

この記事では、PHP のカーネル構成と PHP コードの実行プロセスについて説明します。一定の参考価値があります。必要な友人は参照してください。お役に立てれば幸いです。


#1. PHP カーネルの構成

php には、php カーネル、zend エンジン、PHP 拡張レイヤー

# の合計 3 つのモジュールが含まれています##1.1 PHP コア: リクエスト、ファイル ストリーム、エラー処理、およびその他の関連処理を処理するために使用されます。

1.2. zend エンジン: ソース ファイルをマシン語に変換し、zend 仮想マシン上で実行します


zend は 2 つの部分で構成されます:

コンパイラー: PHP コードを読み取り可能 実行されたオペコード

Executor: コンパイラによって出力されたオペコードの実行、つまり、PHP スクリプトに記述されたコード ロジックの実行を担当します

1.3. 拡張機能

拡張層は関数のセットです。 、クラス ライブラリ、ストリーム、PHP はこれらを使用して、open ssl 関数を使用するための php_openssl 拡張機能のインストールなど、いくつかの特定の操作を実行します。一般的な拡張機能は、



です。 PHP にインストールされる拡張機能 インストール パスは ext ディレクトリにあります。

2. PHP コードの実行プロセス

PHP 执行流程图#PHP の一般的な実行プロセスは次のとおりです:

記述した PHP コードを直接実行することはできません、まず字句アナライザーと構文アナライザーを通過し、次にコンパイラーによってコンパイルされる必要があります。 phpってスクリプト言語じゃないんですか?なぜ C/C のようにコンパイルする必要があるのでしょうか?実は、厳密に言えば、PHP はコンパイル言語であり、字句解析や構文解析を経てオペコード中間コードにコンパイルされ、zend 実行エンジンによって実行されます。この観点から見ると、PHP は最初にコンパイルされ、その後コンパイルされます。これは Java に非常に似ていますが、Java はコード (.java) をバイトコードにコンパイルし、jvm によって実行します。


関連する推奨事項:

PHP カーネル復号化シリーズ: zend_execute の実行プロセス


PHP カーネル探索のためのインタープリターの実行プロセス######

以上がphp のカーネル構成と php コード実行プロセスの概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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