アプリ版:「スタンプのみでお礼する」機能のリリースについて

PHPとcgiの違い

cgiで表示をする際に以下のような記述をしますが、
print"Content-type: text/plain; charset=utf-8\n\n";
print"こんにちは";

phpでは以下のような記述になるようです。
<?php
print"こんにちは";
?>

cgiとPHPはほとんど同じと考えているのですが、
拡張子以外に、上記のように文法でも違いがあると考えていいのでしょうか?
また、違いを注意すべき点はどういうところでしょうか?

A 回答 (2件)

>拡張子以外に、上記のように文法でも違いがあると考えていいのでしょうか?


一言で言えばなにもかも(というか前提というか、お話というか)が違います。

http://okwave.jp/qa/q1505052.html
のようにPHPは言語の名前だからCGIとは比較すること自体おかしい、と言ってしまえばそうなのですが、出力についてどうなのかについて、もう少し書いておきます。


CGIはWebサーバーでスクリプト言語を実行するための仕組みです。言語じゃないです。
スクリプト言語を実行するにはスクリプト言語の実行プログラム(あるいはモジュール)が必要です。
CGIでは最初にその実行プログラムのパスを指定することで、その実行プログラムに書いたスクリプトを実行してもらいます。よって言語に対応した実行プログラムさえ用意すれば、任意の言語を実行することができるわけです(もちろんPHPでもいい。cで書いてビルドしておけば直接それを指定する事もできる)。
その結果としてWebブラウザへ出力がされることになります。


ではPHPで出力される場合はどうかといえば、最初からなにもしないでもPHP実行プログラムで、PHPスクリプトが実行される、というだけです。
perlでいうなら、コマンドプロンプトで"perl hoge.pl"とするのと同じようなことです。
    • good
    • 0
この回答へのお礼

CGIやPERLの知識がなくても、
とりあえず、PHPをまず身につけておけば、大丈夫そうということですね。

お礼日時:2010/01/29 23:03

PHPはプログラミング言語


CGIはサーバサイドでシステムを動かす仕組みの一つ
PHPをCGIモードで動かせばPHPはCGIとして動く
PerlをCGIモードで動かせばPHPはCGIとして動く
PHPやPerlはWebサーバのモジュールとして動かす事もできる。
    • good
    • 0
この回答へのお礼

cgiとphpの比較ではなく、
phpとperlの比較の問題ということですね。

お礼日時:2010/01/29 23:01

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!