- Module: ApacheなどのWebサーバの一部として実行する形式
- CGI: Common Gateway Inteface
モジュールはApacheの一部
http://labs.yumemi.co.jp/labs/mod/apache_module.html
プロセス
- モジュール: ApacheのプロセスとPHPのプロセスが同じ
- CGI: ApacheのプロセスとPHPのプロセスが別
効率
- モジュール: Apacheが起動時にPHPをロードしているので高速
- CGI: Apacheにリクエストが来た時にPHPをロードするのでオーバヘッドがある。(FastCGIはこのオーバヘッドを克服するための改良版)
http://www.movabletype.jp/documentation/developer/server/fastcgi.html
実行権限
- モジュール: ApacheにPHPスクリプトを実行する権限がなくてもOK
- CGI: ApacheにPHPスクリプトを実行する権限が必要
設定
- モジュール: Apache側(.htaccessなど)でPHPの設定を変更することができる。
- CGI: Apache側からはPHPの設定を変更できない
.htaccessでファイルアップロードサイズ上限を10MBにする例↓
.htaccess
php_value upload_max_filesize 10M