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
java 動的型付け、静的型付け

PHPみたいなのが動的型付け言語。 Cやjavaみたいなのが静的型付け言語。 ■ …

apache-logo
apacehのベンチマーク abコマンド

ちょっと調べたのでメモ 参考URL http://blog.verygoodto …

php-logo
PDO bindParamって必要なの?

execute()の時に、配列渡せばバインドしてくれるじゃん。という疑問。 同じ …

php-logo
PHP デバッガー (APD,Xdebug)

APD(デバッガー) http://www.php.net/manual/ja/ …

cakephp_logo
【Cake】paginateのデフォルトソート設定がうまく行かない。。

マニュアルとかを見ると コントローラーで [crayon-58856b23361 …