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

  関連記事

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

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

js-logo
JSONPセキュリティ

http://gihyo.jp/dev/serial/01/web20sec/0 …

php-logo
プログラミングPHP 第11章(XML)ポイント

XML概要 処理命令 は必須。 整形式のXMLの条件として、ファイルの最上位レベ …

google-logo
GoogleAppEngine javaでHelloWorld2 (by 作ればわかる GoogleAppEngineプログラミング)

【手順】 ALL in One Eclipse 3.6をインストール。 Ecli …

lgi01a201309210900
プログラミングPHP 第12章( セキュリティ )ポイント

入力のフィルタリング アプリケーションで作成したデータ以外は全て、汚染されている …