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
PDO ネイティブモジュール 違い

http://thinkit.co.jp/free/marugoto/1/4/3 …

php-logo
symfony1.4

ディレクトリ構造 プログラミングするファイルは主にappsの中に。 apps – …

php-logo
simplexml_load_file()で特定サイトのrssが取れない

どうやらsimplexml_load_fileはユーザーエージェントを指定してな …

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

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

php-logo
nl2br()

改行文字の前に HTML の改行タグを挿入する 例 さまざまな改行文字 上の例の …