For Want Of A Better Word

phpのcgiとプapacheモジュール版の違い

      2015/04/19

何故PHPは特に設定不要で、HTML領域で稼動するのか。何故perlやパイソンはCGI設定などが必要なのか?

>>いろいろ設定した時の基本的な疑問ですが。。下記の解釈であってるかと。<<

  • PHPはインストール段階で/etc/httpd/conf.d/php.confファイルを作成し、apacheモジュールとして稼動する用の設定がされている。perlpythonに関しては、設定ファイルはあるが、中身がコメントアウトされている。
  • CGIとはプログラム実行の仕組み。同系列の言葉としてモジュールがある。

用例:perlをCGIで動かす
   perlapacheモジュールで動かす。

  • (load_モジュールすれば、モジュールとして動かす)

PHP_CGI版とモジュール版の違い

CGI

CGI版と言われるものは、WebサーバーであるApacheとは別プロセスで動作させるPHPという意味合いが強いです。
実際に、CGIとは、Common Gateway
Interfaceの略で、Webサーバーが、Webブラウザからの要求に応じて、プログラムを起動するための仕組みを言います。
CGI版{{phpという拡張子のファイルを、php-cgi.exeという実行ファイルに渡して実行しなさい。}}

CGI 版:PHPプログラムが呼び出されるたびにプロセスが1つ立ち上がる

モジュール(apacheプロセスとして実行。)

phpという拡張子のファイルを、php5apache2.dllというDLLライブラリに渡してい実行しなさい。}}}
つまり、モジュール版と言われるものは、WebサーバーであるApacheと同じプロセスで
動作させるPHPという意味合いが強いです。
モジュール版:Apacheのプロセスの中で実行されるため、余分なプロセスを立ち上げる必要がない

phpinfo()の Server APIの項目を見ると判別することができる。

 - apache, php

  関連記事

php-logo
ハッシュ化

入力値をmd5 sha1 sha256 blowfishといったアルゴリズムを利 …

mysql-logo
dotCloudにPHPMyFAQを入れてみる。

dotCloudにプロジェクトとDBは作った状態から開始。 phpMyFAQは2 …

php-logo
【PHP】【Slim】Slim触っての感想

最低限の所だけど、Slimについて ・インストール・初期設定 ・テンプレート ・ …

php-logo
遅延静的束縛 (Late Static Bindings)

http://php.net/manual/ja/language.oop5.l …

mysql-logo
プログラミングPHP 第8章( DB )ポイント

PHPによるDBへのアクセス 方法は2通り ①データベース固有の拡張モジュールを …