- ベストアンサー
PHPとcgiの違い
PHPとcgiの違い cgiで表示をする際に以下のような記述をしますが、 print"Content-type: text/plain; charset=utf-8\n\n"; print"こんにちは"; phpでは以下のような記述になるようです。 <?php print"こんにちは"; ?> cgiとPHPはほとんど同じと考えているのですが、 拡張子以外に、上記のように文法でも違いがあると考えていいのでしょうか? また、違いを注意すべき点はどういうところでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>拡張子以外に、上記のように文法でも違いがあると考えていいのでしょうか? 一言で言えばなにもかも(というか前提というか、お話というか)が違います。 http://okwave.jp/qa/q1505052.html のようにPHPは言語の名前だからCGIとは比較すること自体おかしい、と言ってしまえばそうなのですが、出力についてどうなのかについて、もう少し書いておきます。 CGIはWebサーバーでスクリプト言語を実行するための仕組みです。言語じゃないです。 スクリプト言語を実行するにはスクリプト言語の実行プログラム(あるいはモジュール)が必要です。 CGIでは最初にその実行プログラムのパスを指定することで、その実行プログラムに書いたスクリプトを実行してもらいます。よって言語に対応した実行プログラムさえ用意すれば、任意の言語を実行することができるわけです(もちろんPHPでもいい。cで書いてビルドしておけば直接それを指定する事もできる)。 その結果としてWebブラウザへ出力がされることになります。 ではPHPで出力される場合はどうかといえば、最初からなにもしないでもPHP実行プログラムで、PHPスクリプトが実行される、というだけです。 perlでいうなら、コマンドプロンプトで"perl hoge.pl"とするのと同じようなことです。
その他の回答 (1)
- kenken951
- ベストアンサー率33% (9/27)
PHPはプログラミング言語 CGIはサーバサイドでシステムを動かす仕組みの一つ PHPをCGIモードで動かせばPHPはCGIとして動く PerlをCGIモードで動かせばPHPはCGIとして動く PHPやPerlはWebサーバのモジュールとして動かす事もできる。
お礼
cgiとphpの比較ではなく、 phpとperlの比較の問題ということですね。
お礼
CGIやPERLの知識がなくても、 とりあえず、PHPをまず身につけておけば、大丈夫そうということですね。