ソフトの砂場(PHP)ソフトの砂場(PHP)2002年9月15日PHPについても少しは知っておいた方がよさそうな状況になってきたので、せっかくなのでネタにしようという魂胆です。Webサーバがいるので、Apache2.0.40を取ってきたのですがなぜか動作せず、今回はこだわる気がないので、1.3.26を使うことにしました。こちらは問題なく動作。この違いは、何でしょ?次に、PHP4.2.3をPHP.NETに探しに行くと、Windows版バイナリは2種類あり、なぜかzip形式の方を取ってきました。これを、C:\PHPに展開。後で気づいたのですが、日本PHPユーザー会によると、このバージョンは日本語処理にバグがある模様。PHPの方は、php.ini-recommendedというファイルをphp.iniにリネームして、%Windows%ディレクトリにコピーして終わり。php.ini-distというファイルの方が、プログラムを動かすと言う点では、問題が起こりにくいのかもしれません。本当は、ファイルの内容を見ないといけないのでしょうが...Apacheの設定の方は、いろいろあったのですが、株式会社シュピンネン・ギルドで公開されている方法を参考にしました。Worldを作って動作を確認して、だめ押しで、もう一つ次のようなプログラムで動作を確認しました。?></body></html>一応、何かできそうな感じになったところで、今回はおしまい。引き続き、PHPのお勉強。出力はできるようになったので、今度はフォームから入力してみましょ。次のような、ごく簡単なプログラムを書いてみました。PHPでは、フォームのエレメント名と同じ名前の変数に、値が格納されるようなので、その変数に値が格納されていたら表示する、というものです。value='送信'></form></body></html>が、これがどうしてもうまく動きません。やってみましたがうまくいかず、ふとApacheのログを見ると、次のようなエラーメッセージが出ています。textbox1この変数が未定義なら、うまく動かないのは納得ですが、どうしてこの変数が未定義かな〜と考えていくうちに、最初にインストールした時、php.ini-distとphp.ini-recommendedの2つがあって、後者を選んだことを思い出しました。調べてみると、まさにその説明がありました。information.ということで、コメント通りに以下のように修正して、動作を確認できました。value='送信'></form></body></html>やはり、新しいことをすると、いろいろありますね。2002年9月23日ここまできたら、勢いでデータベースにつないでみましょ。データベースとしては、ここはやはり、DB2でしょう。思ってDB2に接続する方法を調べてみましたが、Linux上でPHPを再コンパイルする方法はみつかったのですが、Windows上で配布されているバイナリをそのまま使う方法は見つけられませんでした。やむなく、ODBC経由でDB2に接続することにしました。システムDSNを作れば、できそうな感じです。ユーザDSNやファイルDSNではうまくいかない模様、という情報も得られました。いうわけで、WindowsのODBCデータソースアドミニストレータを起動して、DB2_PHPという名前のシステムDSNを作りました。接続するデータベースは、SAMPLEです。ODBCを使えるようにするためにphp.iniを書き換えよ、と書いてあるところもありましたが、php.iniを見るとODBCはすでに組み込まれていると書かれているので、PHPの設定は変更しませんでした。プログラムの方は、見よう見まねで、次のようなものを作りました。実行してみると、うまく動いている模様。{のように、贅沢に書いていましたが、こちらの方が軽量にできていいでしょう(本当に軽量になるかどうかは、ドライバの実装次第ですケド)。