PHP とは Hypertext Preprocessor のことで「ピーエイチピー」と読みます。動的なWebページを生成するためのWebアプリケーション用スクリプト言語の1つです。動的なWebページと言うとPerl言語を使った掲示板やチャットなどがすぐに思い浮かぶと思いますが、PHPもそれと同様以上のことが出来ます。Perl言語などを使ったCGI処理では、Perlスクリプトとそれを呼び出すHTMLファイルの2つのファイルが必要ですが、PHPはHTML文書中にスクリプトを埋め込むことが可能です。また、用意されている関数も豊富なのでスクリプトの開発はPerlより容易だと(個人的には)思います。最近では、PHPを実行可能なフリー・レンタルサーバも増えてきて、だいぶ普及してきているように思えます。PHPは、PHP Group から、オープンソースソフトウェアとしてリリースされています。
「あばうと PHP」のコーナーでは、PHPってよく知らないけど興味はある、興味はあるけど何からやったらいいかわからない、いきなり躓いた、という人の役に立てるようなことを、私の体験を元に書いていこうかと思っています。対応はWindows 98 or 2K ということで…。スクリプトの設置や動作検証にはFTPソフトやPHPの動くローカルサーバが必要になったりもしますが、Perlのスクリプトの設置くらいはとりあえず出来るものとして、そこらへんのことは省略します。
スクリプトを一から書くにしても、フリースクリプトをダウンロードしてきて設置するにしても、何はともあれテキストエディタが必要です。スクリプトファイルはテキストファイルですが、スクリプトの書かれた文字コードと同じ文字コードで読込まないと文字化けしてしまいます。PHPのスクリプトはほとんどが、EUC か Shift JIS の文字コードで書かれています。Windows付属のメモ帳は複数の文字コードに対応していないので、複数文字コード対応のテキストエディタがなかったら、TeraPad などをインストールしておくことをおすすめします。ちなみに当サイトで配布しているスクリプトは今のところすべて Shift JIS で書かれています。
PHPのマニュアルは、PHP Group で日本語のオンラインマニュアルを閲覧したり、chm版をダウンロードすることが出来ます。もちろん参考書などはいらないくらい詳しいマニュアルなので、オフラインでもすぐに閲覧できるように、chm版をダウンロードしておくことをおすすめします。プログラミングとかまったくやったことがないという人は、マニュアルをちょっと見ただけで読む気やる気が失せてしまうかもしれませんが、流し読みでいいので一通り読んでおくときっと後で役に立つでしょう。chm版のダウンロードページは PHP Download documentation です。
フリースクリプトの設定だけ変更して設置する程度ならローカルサーバで動作検証をする必要はありません。でも、スクリプトを自作したり改造したらそれがうまく動くかどうか自分のパソコンですぐに試せるといいですよね。実際に設置するサーバと同じ環境をローカルサーバで再現するのは難しいですが、自作や改造したスクリプトの動作検証くらいはローカルサーバでやってしまいたいものです(というかそれくらいは当然です)。ローカルサーバの構築に関しては、ローカルサーバ構築参考サイトのページで紹介しているサイトを参考にしてください(そのうち「Windows2000でローカルサーバ」みたいなページを作る予定です)。
上述のPHPのマニュアルは実践的なサンプルスクリプトの少ない点が初心者には物足りないかも知れません。しかし、参考になるスクリプトやチュートリアルはPHP関連サイトで見つかる物でも十分だと思います。そんなわけで個人的には参考書籍(特にリファレンス本)は要らないと思いますが、購入するならサンプルスクリプトが豊富なものにしましょう。ちなみに、私は1冊だけ「PHPによるWebアプリケーションスーパーサンプル」(西沢直木氏著、ソフトバンク発行、¥3780)を買いました。PHP全般について要所を解説してありサンプルも豊富なので初心者にはすすめてもいいかなあと思いますが、他にも良い本があるかも知れないので買う時は自分の目で確かめてから買ってくださいね。
スクリプトを開いたアプリケーションがスクリプトの文字コードと同じ文字コードで開いていないせいです。なので、正常なファイルならスクリプトと同じ文字コードで開けば文字化けして読めないということはないはずです。PHPのスクリプトの文字コードは EUC か Shift JIS がほとんどです。両方の文字コードに対応しているテキストエディタ(上述のTeraPad 等)で開いてみてください。
CGIとは、Common Gateway Interface のことで、UAからの要求に対してWebサーバが別のプログラムを実行して結果を返す処理を実現するための仕組みです。CGIはどんな言語でも使用できますが、一般的にPerl言語がよく使用されているため、CGI=Perl、CGI=Webアプリケーション、と思っている人が多いようです。実際はCGIを使用してPerl言語のスクリプトが実行されているわけで、そもそもCGIとPerlやPHPはまったくの別物です。PHPにはこのCGIを使用するCGI版とApacheのモジュールとして動作するモジュール版があります。モジュール版はCGI版PHPやPerlと比べて、CGIを呼び出すプロセスがないため処理が軽く、モジュールとして動作するため高速です。PHPはHTML文書中にスクリプトを埋め込むことができ、XMLや各種データベースもサポートしているので、動的ページや大規模なWebアプリケーションの作成に向いています。