
PHPのススメ
PerlのCGIに比べてPHPが動作するサーバーが少ないのですが、PHPが動く環境があるなら、PHPはおすすめです。
MySQLなどのSQLとの連携が簡単
大量なデータを持つサイトであれば、データベースシステムを利用した方が、データの抽出や検索スピードが早く、便利です。
PHPには、MySQLやPostgreSQLなどのSQLデータベースとのやりとりをする関数が最初から用意されていて、とても相性がいいです。というよりは、データベースとWWWサーバの連携用の言語といってもいいぐらいだと思います。
携帯の買い物カゴにこそ、PHPを
買い物カゴのシステムを考える場合、パソコンと携帯での大きな違いはなんだと思いますか?
パソコンには、クッキーという機能があります。買い物カゴの多くは、このクッキーを利用しています。ところが、携帯には、この機能がないのです(最近の機種は対応してるものもあります)。
クッキーが使えないとどうなるのか?買い物カゴの中身を覚えていてくれないのです。これでは、買い物カゴになりません。通常ページを表示した時点で、それまでのカゴの中身は空っぽになっちゃうのです。
以前、Perl(CGI)でiモード用の買い物カゴをレンタルしたことがありますが、すべてのページをCGIで出力してクッキー代わりのIDをひきまわしました。買い物カゴは実現できましたが、型にはまったページしか作れず、大変な割りに自由度の少ないページになってしまいました。
PHPには、セッションという仕組みがあります。これを使うと、クッキーがなくてもPHPシステムが自動的にセッションIDというのをうまく引き継いでくれます。
会員制ページにも、PHP
最大手検索エンジンや最大手ショッピングモールなどのサイトを開くと、ページの隅に「こんにちはxxxxさん」なんて書いてありません?もちろん登録した人だけですが。サイト内、どのページでもちゃんと出てたりします。これもクッキーとセッションIDを組み合わせればできます。
さらに会員だけに見せたいページを作るなら、ログインした状態なら見せる、そうでなければ、見せない。なんてページも簡単に作成できます。
サーバーへの負担は?
PHPの場合、サーバーでPHPのシステムが常に動くわけですから、その分サーバーへの負荷がかかります。PerlなどのCGIの場合は、そのプログラムが呼び出されなければ、なにも動いてません。その分、軽いといえます。そして、要求があったときに、プログラムが動く環境が呼び出されて、その上でプログラムが動きます。要求が100個あった場合、100個分。10000個あれば、10000個分。数が増えれば増える程、負荷が増大します。
PHPの場合は、PHPのシステムに要求をして、回答を待つだけです。実際に処理を行うのは、PHPシステム1個です。要求が増えても1個になります。
つまり、アクセスが多いサイトの場合、CGIよりもPHPの方が軽くなります。