手持ちのサーバにApache入れるとだいたいPHPはモジュール版です。
レンタルサーバではセキュリティ上の理由からCGI版だったり、モジュール版とCGI版とを選択できたり。
おおまかな違いは
perlやPHPについて、CGI方式とモジュール方式の比較
http://oshiete.goo.ne.jp/qa/4155506.html
より
スピードが速い(起動終了処理が不要)
メモリ使用量が多い(アクセスしていなくてもメモリが解放されない)
rootやapache権限で実行される
CGI:
スピードが遅い(起動終了処理が必要)
メモリ使用量が少ない(アクセスがなければメモリを使用しない)
どんな言語でも作成できる
SuExecを使用できる(ユーザー権限で実行できる)
くらいの認識でOKかと。
んで、あんまり使う機会は無いかもですが一応モジュール版からCGI版への切り替え方法をメモ。
httpd.confには、デフォルトで
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
というのがあるので、とりあえずその記載を一応確認しておく。
次に、/usr/bin/php-cgiを/var/www/cgi-bin/の中にコピーする
cp /usr/bin/php-cgi /var/www/cgi-bin/
CGI版PHPの場所が「/usr/bin/」内に無ければ
which php-cgi
でチェケラです。
httpd.confや.htaccessの中に
Action php-script /cgi-bin/php-cgi
AddHandler php-script .php
と記述する
アパッチ再読み込み
service httpd reload
または、
/etc/rc.d/init.d/httpd reload
で、完了です。
確認方法はphpinfo()で「ServerAPI」の項目を見ればできます。
CGI版は「CGI/FastCGI」で、
モジュール版は「Apache 2.0 Handler」と表示されます。
・モジュール版
・CGI版