PHP
downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

拡張モジュールのテスト> <拡張モジュールのグローバル変数
Last updated: Fri, 02 Jan 2009

view this page in

拡張モジュールのライフサイクル

Zend 拡張モジュールは、そのライフサイクルにおいていくつかの段階をたどります。 これらの段階を通じて、開発者はさまざまな初期化や後処理そして情報の取得などを行います。 Zend API には、拡張モジュールの 5 つの段階のそれぞれに対するフックがあります。 これらは PHP の関数からコールされるのとは別のものです。

ロード、アンロードそしてリクエスト

Zend エンジンは、クライアントからのひとつあるいは複数の "リクエスト" を処理します。昔ながらの CGI の実装では、 このリクエストごとにひとつのプロセスを実行します。 しかし、それ以外の多くの実装 (有名どころでは Apache モジュールなど) では、複数のリクエストを単一の PHP プロセスに関連付けることができます。 したがって、Zend 拡張モジュールはその生存期間中に多くのリクエストを処理することもありえます。

概要

  • Zend API では、モジュールがメモリにロードされるのは対応する PHP プロセスが立ち上がる際だけです。 各モジュールは、zend_module 構造体で定義された "モジュール初期化" 関数をロード時に実行します。
  • 対応する PHP プロセスがクライアントからのリクエストの処理を開始する (つまり、PHP インタプリタが動き始める) ときには、 各モジュールは zend_module 構造体で定義された "リクエスト初期化" 関数を実行します。
  • 対応する PHP プロセスがリクエストの処理を終了したときには、 各モジュールは zend_module 構造体で定義された "リクエスト後処理" 関数を実行します。
  • 対応する PHP プロセスが終了する際に、 モジュールも順にメモリからアンロードされます。そのときには、 各モジュールは zend_module 構造体で定義された "モジュール後処理" 関数を実行します。


add a note add a note User Contributed Notes
拡張モジュールのライフサイクル
There are no user contributed notes for this page.

 
show source | credits | sitemap | contact | advertising | mirror sites