
No.7ベストアンサー
- 回答日時:
「犬とペットの呼び戻し方は違う」、「いや違わない」と言い合っているようなものですね。
このたつは明らかに違うものです。他の方のコメントを読んでいても、特にCGIに対する理解が間違っているものを見受けます。
CGIとは、Coomon Gateway Interface の略で、サーバーに対してクライアントから要求があった場合、その要求を「他のプログラム」に渡してそのプログラムに処理を任せる仕組みのことです。
他のプログラム、Perlやシェルスクリプト、Python、Ruby、C;;など色々な言語が使えます。・・・これらを【CGIプログラム】というが、【CGI】とは別。
PHPは、その意味では普通はCGIに含めることはしません。特にapacheユーザーは。
なぜなら、apacheでは、PHPは、mod_phpを使用するため、どちらかと言うと、SSI(Server Side Includes http://ja.wikipedia.org/wiki/Server_Side_Includes )に近いと考えたほうがよいからです。ただし、サーバーにAN-HHTTPDを使用する場合は、CGIとして動作させますし、WindowsIISで動作させる場合はISAPIを使用します。・・・apacheで動作している場合はCGIではないということです。
結論から言うと、CGIとPHPは別のものです。
ありがとうございました。
言語にいろいろな使い方があるということが分かりました。
CGIプログラム<PHP,PERLという一つの視点しかなくて、
意見が対立した日はその人と気まずい雰囲気になったりしたのですが、
皆様の回答を読んで、言葉の使い方が間違えていたり自分の考え方がいかに小さかったかを知ることができました。
質問に対してご教授してくださった皆様、
本当ありがとうございました。
No.6
- 回答日時:
>CGIはウェブサーバ上でユーザプログラムを動作させるための仕組だと解釈していた
という広い概念を指し示したいなら「Webサーバ側のプログラム実行環境」とか(それがスクリプト言語なら)「サーバサイドスクリプト(Server Side Script)」とか呼ぶ方が,いらぬ対立を招かずに済むでしょう。
CGIとは何か,については,ja.Wikipediaの「CGIに関するよくある誤解」および,過去の私の回答を参照。
http://ja.wikipedia.org/wiki/Common_Gateway_Inte …
http://okwave.jp/qa4288537.html?ans_count_asc=2 の私の過去の回答No.5
No.5
- 回答日時:
参考 URL はCGIの定義の説明です。
これによると、CGIは「プログラムを起動する」仕組みだそうで、『プログラム』を『プロセス』と捉えるなら「普通のPHP」 は CGI の一種とは呼べませんね。けど、「普通のPHP」というのがミソで、PHPを別プロセスとして動かす事も可能らしくて、そのPHPはCGIの 1種です。
一方で、じゃあ「普通のPHP」と同じメカニズムの mod_perl はCGIの一種じゃ無いのかという疑問もあって、簡単には済みそうじゃ無いです。
やっぱり、Perl や PHP は言語の名前で CGI はWebの形式/メカニズムの名前なので、簡潔明瞭な対応付けを考える必要は無いと思います。
参考URL:http://e-words.jp/w/CGI.html
No.3
- 回答日時:
まぁ、名前から違いますから、それなりに違うでしょう。
(Officeだって、やれる事は似たようなもんですけど、98と2007じゃ相当違いますぜ。。。。多分。
どっちも、サーバ側処理のWeb開発言語~って事でいいかと思いますが、特性はそれぞれあるので、開発時に、「何やるのか」「どういうことしたいのか」「どれつかったらいいのか」を適切に判断して、どの言語でどういう開発するかの決定が出来れば、違おうが違うまいが、個人的にはいいと思うんですけどね。
(結局、使う側が使いやすく、満足できればそれでいいんです。
そのためだったら、違うだとか何だとか、細かいことにとらわれず、特性はとらえて、何でもやればいいかと。
(自分は、PHPユーザーでも、Perlユーザーでもなく、ASP(VBScript)ユーザーですけど、必要性があるので、最近Perlにも手~出してますし。その分、ASPの良さ、Perlの良さとかそれぞれあるわ~。と思ってますし。
「結局どっちもプログラム言語だし。違おうがなんだろうが、開発時に、適切なもの選んで開発できりゃそれでいいじゃないですか-w-」とか言い返してやってください。(冗談です。多分、もっと争いが激しくなるので、心の中で思ってやってください。
No.2
- 回答日時:
CGIっていうのは「実行環境」や「方法」の意味合いが強いと思います。
PerlやPHPは言語ですね。
CGIというと、HTTPサーバーのリクエストに応じ、サーバー上のOSで実行され、結果がサーバーソフトウェアに返されようなしくみのことを言います。
HTTPサーバーでコマンドプロンプトを呼び出し、そこでプログラムを起動し、プログラムの結果の出力先をHTTPサーバーにしたようなイメージです。
Perlに限らず、C++やDelphiなどでコンパイルした実行ファイルもCGIになりえます。
実際、CGIに対応したHTTPサーバーで、C++などでコンパイルした実行ファイルで掲示板などのダイナミックなコンテンツなどを提供できます。
一応、PHPもCGIとして動かすことができますが、一般的にはサーバーの拡張モジュールとして動作している場合が多いと思います。
どういうことかというと、HTTPサーバーがモジュールによって機能を拡張され、HTTPサーバーが処理を行います。
ASPなどもそうです。
ですので、一般的には。
PHPはCGIではないですね。
PHPをCGIで動かす場合というのは、何か理由のある限られた環境でしかないと思います。
No.1
- 回答日時:
まず、どの様な観点で見た場合の違いかという点を教えて下さい。
たとえば、
・どの様な目的に使うものか
・出来ること
・生産性
などなどいろいろな観点があると思います。
ただ単に同じか違うかということになると、CGI/PerlとPHPが同じものの別名という訳ではないので、違うものだという事になってしまいます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Perl perlでリテラル値はメモリにどのように格納されているか? 1 2023/01/15 20:45
- CGI CGIで出力するhtmlの<!DOCTYPE html>等のタグは要りますか? 2 2023/02/05 21:26
- CGI サイト訪問者の情報を取得したい 1 2023/02/21 11:03
- Perl Perlのエラーについてご教授ください。初心者です。 CGIを別サーバに移したところ、Perlのバー 5 2023/05/31 10:48
- CGI CGIが読み書きするデータファイルのパーミッションはさくらのインターネットでは何にするべき? 1 2023/05/02 16:44
- CGI (フリーの)ツリー掲示版CGI、昔は多用させてもらいましたが・・今セキュリティ上どうでしょう? 2 2023/06/25 07:18
- CGI 古ーくからフリーのtree.cgi掲示板を利用させてもらって来ましたが、最新でなにか復活できないか? 2 2023/04/07 10:43
- ホームページ作成・プログラミング CGIが実行可能なHP領域又はレンタルサーバーでおすすめの所を教えてください 現在ホームページ領域の 1 2023/01/01 11:47
- CGI 「CGIにより定義されていない」とは・・・ ? 3 2023/01/01 12:00
- その他(プログラミング・Web制作) HTMLを組み込むことができない言語 3 2022/05/21 10:05
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
cgiで呼び出したプログラムを数...
-
IIS の管理コンソールというのは
-
ログアウト処理でWebブラウザを...
-
CとPerlどれくらい違うか?
-
KENT WEB(昨日の続きです)
-
EXCELファイルに誰がアクセスし...
-
《エクセルVBA》「他の人が該当...
-
社内の文具請求システムを作成...
-
ラジオボタンのグループ化
-
perl 特殊配列@INC について
-
URLに~/cgi-bin/~を隠す方法
-
CGIのQAサイト
-
basp21でのファイルアップロー...
-
メールフォームの設定なのです...
-
アクセスログでホスト名を
-
自宅サーバーでASPを使いたい
-
MIME::EntityやNet::SMTPを使わ...
-
ファイルの破損について
-
sendmailを使用してプログラム...
-
jcode.pl と &ReadParse()
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Perlプログラム上でアラートを表示
-
IISでエラー、Apachでは動くの...
-
Cshell 標準出力を見張る方法...
-
Cshellスクリプトで前の命令の...
-
Webからアクセスし、画面のボタ...
-
CGIの処理中に次の処理が出来る?
-
C言語のCGIはプロパイダに聞か...
-
cgiで呼び出したプログラムを数...
-
CGIの起動が遅い
-
CGIファイルへのブラウザからの...
-
同じ階層内を意味する「./」を...
-
perlによる外部プログラムの実行
-
ログアウト処理でWebブラウザを...
-
ホームページにCGIを設置したの...
-
メール受信時にパイプしてPerl...
-
実行可能な外部コマンドは?
-
CGIとPHPは違う!と言って聞か...
-
EXCELファイルに誰がアクセスし...
-
URLに~/cgi-bin/~を隠す方法
-
KENT WEB(昨日の続きです)
おすすめ情報