No.3ベストアンサー
- 回答日時:
なぜそのような書籍が無いのか結論から申し上げると「需要が無い」からです。
その理由はPHPとCGIの動作に起因し、PHP利用の最大のメリット(?なのでしょうか?)であるHTML組み込みなど利用できなくなるからです。
動作の概略(あくまで概略なので細かくするとキリがありません)を示しますと(右に長いのでテキストエディタなどにコピペしてみていただくと見やすいかと思います)
CGIの動作
ブラウザ-[INTERNET]->Webサーバー -[CGI]-> システム:処理言語{Perl/C/Ruby...etc.}+プログラム:処理結果 -[CGI]-> Webサーバー -[INTERNET]->ブラウザ
PHPの動作
ブラウザ-[INTERNET]->Webサーバー:PHP:処理結果 -[INTERNET]->ブラウザ
PHPを単体で処理できるようにインストール設定すればPHPをCGIとして利用することも可能です。当然、利用範囲がCGIの域を出なくなり、PHPとしてのメリットがなくなってしまいます。
そのような非効率的な運用利用をする方はほとんどいないので書籍にしても需要が無いと思います(何らかの事情で必要な方なら、WebサーバとCGIがしっかり理解できていれば簡単に実現できるかと思います)。
ちなみに、代表的なWebサーバApacheは外部組み込み機能を使ってPerlを「PHPの動作」と同じ動きをさせることができます。
そちらは「CGI」の範疇ではなく「Webサーバー構築」の分野ですのでそういった書籍を参考にしてください。
No.5
- 回答日時:
Perlはテキストを扱う処理なら何でもありですが、(実際はバイナリデータも扱える)
Perl解説書とすると、CGIアプリケーションは作れないのか、ということになると思います。
特にHTMLの出力や、HTMLフォーム/HTMLアンカーからの受信やメールなど、CGIアプリケーションとしての専用の処理が必要になりますが、
そういう処理はPerl解説書には載っていません。
(PerlアプリケーションのサンプルとしてCGIアプリケーションを作っている解説書もあります)
PHPはどちらかというとWeb用の言語ですし、わざわざCGIと銘打たなくてもPHPだけでWeb用の解説書だと理解してもらえるため、
CGI/PHPという書き方はしていない物と思われます。
また、広く一般的に「PHP」という言葉が使われているため、
「CGI/PHP」と書くと、「PHP」とは別の言語なのか、と思われる方もいらっしゃるかも知れません。
マーケティングとかそう言う方面のカテゴリーで聞かれると、その関連の回答が得られるかもです。
個人的にはCGI、ASP、Apacheモジュール、SSI(Apacheはモジュールで実現している)、Servlet等を全てひっくるめて、「CGI」または「CGIなど」と呼んでます。
そのプログラムは、スクリプト言語ではない言語で作ることもありますから、CGIスクリプトではなくCGIアプリケーションと呼んでます。
WebアプリケーションというとJavaScriptやFlash、JAVAアプレットなど、クライアント側(ブラウザなど)も含めることになると思います。
どうでもいいが、キーボードを替えたら打ちにくくてかなわない・・・
No.4
- 回答日時:
>一方、PHPは、CGIとは別のインターフェースを使って、WWWサーバ側でのプログラム実行処理を行っています。
PHPの言語仕様の範囲内でWebアプリを作ることが出来、CGIというインタフェースは使いません。PHPも普通にCGIモードでも動く。
逆にPerlをCGIモードではなくてモジュールモードで動く。
たとえば低価格で有名なさくらでは
http://www.sakura.ne.jp/rentalserver/matrix.html
プロ以外PHPはCGIモードで動かしている。
PHPをCGIモードで使うのはイレギュラーな感じで利用率が少ないわけではありませんね。
No.2
- 回答日時:
PerlなWebアプリはCGIを使っていますが、
PHPなWebアプリはCGIを使っていないからです。
「CGI」とは「Common Gateway Interface」の略であり、
WebアプリとしてWWWサーバ側で独自のプログラムを動かす時に
WWWサーバと独自のプログラムとの間の「インターフェース」を指す言葉です。
実際には、このインターフェースを使ったWebアプリのことを「CGI」と呼ぶことも多いのですが…
で、CGI(プログラム)は、そのインタフェースとしてCGI(インタフェース)を使っていれば、開発言語は問いません。
C言語でもrubyでもシェルスクリプトでもなんでもいいのですが、PerlはCGI(プログラム)を実現する上で便利な機能を持った言語ということで、PerlによるCGIが主流になってます。
PerlでWebアプリを作る場合は、「Perlの言語仕様」と「CGIのインタフェース仕様」の両方の知識が必要になるため、解説本などでは「CGI/Perl」といった表現になるのわけです。
一方、PHPは、CGIとは別のインターフェースを使って、WWWサーバ側でのプログラム実行処理を行っています。PHPの言語仕様の範囲内でWebアプリを作ることが出来、CGIというインタフェースは使いません。
ですので、PHPを使ったWebアプリの解説本には、単に「PHP」とだけ出てくることになります。
PHPはCGIを
No.1
- 回答日時:
CGI プログラムを書くために Perl がよく使われ、CGI = Perl と半ば同じもののように扱われていたためそのような表題の本があるのだと思います。
現在では、PHP も同様によく使われていますが、最近では「Webアプリ」などと呼ぶ場合(Webアプリ=CGI でも Webアプリ=PHP でもありませんが)も多かったりするので『CGI/PHP』と言う表題をつける本が無いのではないでしょうか。
参考URL:http://ja.wikipedia.org/wiki/Common_Gateway_Inte …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI CGIで出力するhtmlの<!DOCTYPE html>等のタグは要りますか? 2 2023/02/05 21:26
- Perl perlでリテラル値はメモリにどのように格納されているか? 1 2023/01/15 20:45
- CGI 古ーくからフリーのtree.cgi掲示板を利用させてもらって来ましたが、最新でなにか復活できないか? 2 2023/04/07 10:43
- CGI (フリーの)ツリー掲示版CGI、昔は多用させてもらいましたが・・今セキュリティ上どうでしょう? 2 2023/06/25 07:18
- CGI 「CGIにより定義されていない」とは・・・ ? 3 2023/01/01 12:00
- ホームページ作成・プログラミング CGIが実行可能なHP領域又はレンタルサーバーでおすすめの所を教えてください 現在ホームページ領域の 1 2023/01/01 11:47
- CGI サイト訪問者の情報を取得したい 1 2023/02/21 11:03
- Perl Perlのエラーについてご教授ください。初心者です。 CGIを別サーバに移したところ、Perlのバー 5 2023/05/31 10:48
- CGI htmlからcgiを自動的に起動させたい 1 2023/02/21 19:39
- CGI CGIが読み書きするデータファイルのパーミッションはさくらのインターネットでは何にするべき? 1 2023/05/02 16:44
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで仕様書は書きますか?
-
空elseの有無
-
C言語(gcc), Linux, FTPプログ...
-
GUIプログラミングはガワを作っ...
-
超初心者用プラグラム教えてく...
-
パックマンプログラム
-
0除算して、落ちるプログラムと...
-
【JAVA】数字をひし形に出力す...
-
自動クエリとはどういうもので...
-
変数の値が勝手に変化する原因
-
あるプログラムのコマンドライ...
-
C言語のプログラミングの問題で...
-
変数(関数)名の頭に_
-
RFO BASIC
-
Notepad++の関数リスト表示でC...
-
excelのexe化について
-
正しい五十音順について
-
コンパイルできない
-
アルゴリズムとプロトコールの違い
-
65536は2の何乗なのでしょうか?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAで仕様書は書きますか?
-
C言語(gcc), Linux, FTPプログ...
-
プログラミングのコード量に関...
-
空elseの有無
-
変数・オブジェクト名に漢字使用
-
C++ソースからUMLの設計書を作...
-
きれいなコード vba vbaを勉強...
-
PCの時刻精度
-
VBからシャットダウンさせる方法
-
クリップボードを排他的に利用...
-
MFC,C++/CLI,C#の共存
-
逆フーリエ変換のプログラムに...
-
【VB】データグリッドビューで...
-
COBOLのCALL文がいまいちつかめ...
-
GDLでH8/3052Fのi2cプログラム...
-
プログラム動作時のCPU処理時間...
-
「ルーチン」という言葉の意味
-
例外処理があまり使われない理...
-
良いプログラムとは?
-
実行コマンドのプロセス管理
おすすめ情報