No.1
- 回答日時:
一般的にPHPのほうがCGIよりも処理が早いと言われています。
どちらの言語を選択しても、プログラムとして「○○の機能が実現できない」
というようなことはほとんどないかと思います。
詳細については下記のページを参考にされると良いと思います。
参考URL:http://x-web.pobox.ne.jp/fphp/fphp_01.html
No.3
- 回答日時:
CGIといった場合は、広範囲になります。
CGI(Common Gateway Interfaceの略)は、サーバとページが連携する仕組み、(具体的にはサーバでプログラムを動かして)という感じのことです。
なので、プログラミング言語は問わないので、広義ではPHPもそこにCGIに入るはずです。たしか。
もちろん、perl、そして、C/C++やrubyも入るはずだと。。
一般的に掲示板の設置をされる場合でいわれる「CGI」は、perlで書かれたプログラムのことですよね。
perlに対して、PHPは、ページ(HTML)内に記入して呼び出せるし、データベースに合わせられる部分が有ると思います。
lunamariaさんの何れの疑問についても、ここのページに詳しいと思いますので、はっておきますね。
http://www.scollabo.com/banban/cgi/cgi_003.html
No.4
- 回答日時:
#1の方が回答されているようにPHP
のほうが動作が速いとされています。
そして、PHPとCGI(Perl)を使ってきた私の視点で言いますと、
Webページにちょっとだけちょっとした処理を追加したい場合、
選択肢はPHPだと思います。
PHPだとJavaScriptのようにHTMLの中に書き込めます。
ちょっとした処理だけなら楽です。
Perlだとそのちょっとだけを作るのにすべてを関数を使って出力しなければいけない。
などからです。
悪い点は、
まだつかえるサーバーが少ない。
まだまだ発展途上(私の中で)
一方Perlの利点は、
フリーで配布されているスクリプトが多い。
たいていのサーバーで動作が保障されている。
テキスト処理においては右に出るものはいないといわれている。
悪い点は、
アクセス数が多いとサーバーに負荷がかかる。
ちなみにどちらもつくろうと思えばメモ帳でできます。
No.5
- 回答日時:
「PHPはCGIより速い」は間違いです。
たとえばC言語で書いたCGIなら同等かそれ以上になる場合も多いでしょう。
ちなみにCGIは言語ではありませんので、使う言語次第で「何でもできる」と言えます(語弊があるかもしれませんが)。
仕組みという意味では、CGIとはプログラムとWebサーバーを橋渡しする環境を指します。PHPは言わばWebサーバーに埋め込まれたプログラム環境と言えます。
そして、CGIで多く使われる言語にperlがあり、CGIの代表的存在であるために「perlはCGIで動作する」と思いこまれる向きもありますが、実はperlにも「CGIモード」と、PHPと同じような動作方法(CGIを介さずWebサーバーに埋め込まれた状態で動作)である「mod_perl」があります。これは言ってみれば、それこそPHPと言語が違うだけの状態です(どちらのモードなのかはサーバーへの実装による)。
それらを踏まえ、CGIは柔軟性や可能性・拡張性という意味で、いろいろなことをやりたい場合に強いと言えますし、PHPは初心者には記法が大変覚えやすくDBなどの操作も簡単に記述できる利点があります。
No.6ベストアンサー
- 回答日時:
ANo.5 ですが一部わかりにくいかもしれないので補足します。
「PHPはCGIより速い」は間違いですが、それ以前に比較対照がおかしいと言えます。
それとは別に「PHPはperlより速い」というのもありますが、これも間違いです。
PHPもperlも、それぞれ「CGIモード」と「modモード」があり、modモードはCGIモードよりも速いです。ANo.5 に書いたようにCGIとはプログラムとWebサーバーを橋渡しする環境のことで、modはWebサーバーの一部として組み込まれて動きます。当然「橋渡し」の分、時間がかかります。
たとえば、CGIでPHPを動かすよりも、modでperlを動かしたほうが圧倒的に速いです。
で、モードを同じにした場合は、perlのほうが速いケースが多いそうですが、大差はないという見方もあります。
おそらく、PHPはmodモード(モジュール)で動作させることが多いのと、CGIはperlだと思ってしまっている人が多いことで、先のような間違った情報が広まってしまったのでしょうね。
そのあたり、氾濫する情報にまどわされてしまうこともあるので、まずはPHP、perl本家のサイトを見るのが良いと思います。動作モードについても詳しく書かれています。もちろん信頼性も最も高いでしょう。
No.7
- 回答日時:
「Perlプログラミング中毒!―実用&趣味的Perlモジュール・リファレンス 」
と言う本を少し読んだだけなのですが、最新のPerlはWin32APIが使え、windows側にアクセスできるってことかなー?
ディスクトップにショートカットを作るとか??
これはPHPには、できないかもしれません。
HPに関しては、Perlでできる事はPHPでもできるし、PHPの方が簡単なものも多い。
とりあえず、特殊な事をしなければ、掲示板、カウンター等は同様にできますよ。
Perlの方がまだ経験が長いですが、PHPでスクリプトを作っていて困った事はありません。
No.8
- 回答日時:
CGIとPHPの違いを一言で言えば、アプリケーションサーバー(以下、ASと略す)であるか否かということになります。
PHPがASでCGIはそうではありません。CGI、PHPともにWebサーバーから呼び出されHTMLを返すという点では同じです。
違いは実行形態にあります。
CGIは一般的には実行形式ファイル(Windowsで言う拡張子exeのファイル)でありサーバーOSの元で稼動します。この場合、言語は無関係になります。
ASの場合、通常はそのASに応じたスクリプト言語があり、その言語で書かれたプログラムをASのスクリプトエンジンが解釈実行します。
ASとしては、PHP以外にColdFusionやASP.NETなどが有名です。
なお、蛇足ながら付け加えるとアプリケーションサーバーは本来はより広い意味の言葉であり、今述べたのは正確にはWebアプリケーションサーバーと言う事になりますが、実際問題としてはアプリケーションサーバーとはWebアプリケーションサーバーのことを指すことが多いようです。
かなり回りくどくなってしまいましたが、こんなところでよろしいでしょうか。
No.9
- 回答日時:
lunamariaさん、今晩は。
先ほどはASとそうでないものとの実行形態上の比較でしたが、別の観点での比較も付け加えさせてもらいます。
なお、lunamariaさんのレベルがわかりませんがある程度の専門用語を説明なしで使わせてもらいますがあしからずご了承ください。
将来性の比較 個人で開設した小規模なサイトは別として、業務用のある程度複雑なサイトではCGIは時代遅れであり、大部分はASにて開発、運用が行われるようになる。
理由1 CGIはOSに多大な負担をかけ、実行の効率が低い。実際例えば100個のリクエストがきたとき、CGIの場合はOSが100個のプロセスをアタッチするが、ASの場合その100個はASのプロセスのサブプロセスになり、リクエストの多少によらずプロセス数は変わらない。
理由2 ASでの開発はCGIの開発より効率がよい。何故なら、DB処理などの基本機能がASに装備されていることやスクリプト(簡易言語)という名のとおり、CGIを開発する一般のプログラミング言語より覚えやすく使いやすいのがその理由である。
No.10
- 回答日時:
graphaffineさんに横槍を入れるようで恐縮ですが、
「PHPがASを指す」ということはありませんので、ご注意を(「AS」がサーバーモジュールを指すなら)。
私が下に書いたように、CGIは実行形態・環境を指しますが、PHPは単に言語を指すものです。
PHPもCGIで動きますし、モジュールでも動きます。それはperlも同じです。
「CGIとPHPの違いってなんですか?」
というご質問は、ある実行環境そのものと、言語(実行環境を問わない)を比べるようなことで、言ってみれば
「ウィンドウズとエクセルの違いってなんですか?」
に近いようなもの(ちょっと無理があるかも)。
エクセルにはマック版もあり、そもそもカテゴリ違いなので関連する性能差は比較できません。
なので、単に言葉が指す意味の違いでしかないと思います。
回答としては、
「CGIは、プログラム実行環境のことで、
PHPは、そのCGI上やモジュールで動かすプログラム言語のこと」
となるのかな。
なんとなくlunamariaさんはCGIとperlを取り違えている気がしますが…、わかりません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
PHPがあればCGIは使わない
PHP
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ブログを作成するためのCGI...
-
EXCELファイルに誰がアクセスし...
-
空のファイル
-
ラジオボタンのグループ化
-
VBAでサーバーにアクセスするに...
-
ブラウザの表示URLを変える方法...
-
Image::Magickの呼び出し
-
.htaccessを2つ以上設置した場合
-
CGIでソースがそのままでてしま...
-
FTPにて553エラー
-
ログアウト処理でWebブラウザを...
-
PostMail パーミッションについて
-
C# ファイル削除のエラーコード
-
jsRSSの設置方法について【NEW】
-
MP Form Mail CGI で 500サーバ...
-
メールフォーム作成でInternal ...
-
ASP(IIS?)のエラーについて
-
CGI初心者です
-
Webからアクセスし、画面のボタ...
-
CGIにCSSを
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CGI(perl)って・・・
-
perlからphpを実行して結果を得...
-
CGIで外部のPHPを実行するには?
-
CGIとPHPの違いってなんですか?
-
perl,ruby,phpは同系列?
-
&や=、@を違うコードで表記したい
-
応募フォームを作るのは難しい...
-
EXCELファイルに誰がアクセスし...
-
《エクセルVBA》「他の人が該当...
-
CGIでソースがそのままでてしま...
-
ASP(IIS?)のエラーについて
-
FTPにて553エラー
-
ASPから既存のexcelブックを開...
-
VBScriptで、ファイルから任意...
-
ASPからJavaScriptへの受け渡し...
-
VBAでサーバーにアクセスするに...
-
ラジオボタンのグループ化
-
JAVAで別サーバーのファイルの...
-
ホームページ上でvlookup関数の...
-
perl 矢印演算子 -> の使い方
おすすめ情報