PHPの構造

前回の続き

PHPは、下図のような5つのレイヤーで構成されている。


■ SAPI
ApacheのようなWebサーバ、またはコマンドラインのインタフェース。

PHP Core
ファイルストリーム、エラー処理、スタートアップ/シャットダウンのトリガーなど、低レベルな操作を行う。

■ Zend
Zend Engine。人間が読めるPHPスクリプトを、コンパイルして実行するエンジン。
1リクエストあたりのメモリ管理と強力なAPIを提供する。

■ Extensions
ユーザスペースで使用することの出来る拡張機能。StandardやSessionなどは、デフォルトでコンパイルされ有効になっている。
その他のエクステンションも、./configureのオプションで、--with-mysqlとか、--enable-socketsなどのように指定することで有効になる。
また、php.iniに、extension= で設定するか、dl関数を使用することでも有効にすることが出来る。

■ TSRM (Thread Safe Resource Management)
上記の4つのレイヤーをラップしているレイヤー。
同時に複数の独立したリクエストの実行を可能にする。