PHP における「モジュール版」と「CGI 版」


レンタルサーバを借りる場合にチェックしておく必要があるのは以下の基本4項目

  • PHPが使えるかどうか
  • PHPCGI版かモジュール版か
  • MySQLなどのデータベースが使えるか
  • phpMyAdminなどのソフトが使えるか
  • FTPソフトが使えるか

などです。

PHPの「CGI版」と「モジュール版」とは
CGI 版 「CGI」は「Common Gateway Interface」の略、サーバがブラウザの要求を受信してその内容に応じてプログラムを起動するの仕組み、のことです。PHP はブラウザにURL「http://〜/xxx.php」を指定すると、Webサーバは xxx.php を実行ファイルと受取りプログラムを起動させ、その結果を返します。これを「CGI 版」と呼びます。
モジュール版
「モジュール」とは、Apache の機能拡張の「部品」。 PHP もこのモジュールを利用して Apache の一機能として PHP を動かすことができます。「モジュール版」とは、この Apache の拡張モジュールを利用していることで、そう呼ばれています。

どちらが使いよいのか?

PHP 公式サイトのトップページに次のような記述があります。
日本 PHP ユーザ会:PHPについて
通常のCGIとして使用可能です、PHPモジュールを Apacheサーバーに組み込むことで、 Perl/CGIと比較して処理速度の高速化やサーバー負荷の低減ができます。

使いよいのは?
PHP 公式サイトから
CGI 版」より「モジュール版」のパフォーマンスが上回っているようです。 その理由は:

  • CGI 版:PHPプログラムが呼び出される毎にプロセスが立ち上がる
  • モジュール版:Apacheのプロセス中で実行され、余分なプロセスを立ち上げることが無い


ということで、パフォーマンス面では「モジュール版」が有利です。WordPress でもモジュール版の利用がお勧めです。

参考にしたサイト:
小粋空間