そもそもことのきっかけが4月に自宅のパソコンの Vista 上にある IIS サーバーを有効化してみたところが話の発端なのだが、 これをやって、fast CGI もついでに有効化したら、なんだか勝手に Web Installer というのが導入され、localhost 上で、PHP やMySQL が設定可能な状態になっていた。これって、ASP.net や MS SQL を開発しているマイクロソフトからしてみれば、競合製品だと思っていたのだが、IIS の上では、みんな仲良く動きますよーということらしい。 それどころではなく、この Web Installer で、WordPress や Joomla! や Drupalなど、 PHP+MySQL を使ったサイト構築ツールが各種導入できるようにまでなっている。 これには驚いた。 自分のサイト構築法は HTML と CSS +若干の javascript どまり、サーバーサイドのプログラムは手を出さないでおこうと思っていたのだが、ここまで環境を整えられると食指が動いてしまう。 (といってもつい最近まで名前を知っていたのはWordPressくらいで、 Joomla! ってJavaScriptのライブラリーかなんか、PHPも やたら?マークがついて使いにくそうなツールだなあ、と思っていたくらいでこのあたりの知識はこの1ヶ月くらいで得たものだ。)
遅ればせながらPHPとMYSQLの教科書、本屋でなるべく薄くて簡単そうなものを選びとりあえず読んでみて、なんとなく理解したと思ったので、localhost/phpmyadmin を動かしてsql 言語を試してみたりしている。
そこで気になったのがウォーニングメッセージ
1.mcrypt が導入できていません云々
2.クライエントとライブラリーのバージョンが異なっています。
という二つのメッセージが出る。 気色が悪いので、消すことはできないか、と調べてみた。
結論のみ書く。 1の問題については、Windowsに導入されたPHPはコントロールパネルのプログラムの追加・削除のパネルから変更を選んでオプションのmcryptのエクステンション導入にチェックを入れるだけで解決。(ググッてヒットする解決策は php.ini の記述をいじる、ファイルをコピーするなどの手作業を伴う。 しかしそういう作業をする必要はなかった)
2の問題はええ加減にしてくれ、である。 バージョン違いのコンポーネントは勝手に組み込まれたのだ。 これをエラー表示するとはどういうことかいな。
mysql のフォーラムに、このバージョン違いは実害はない。 phpmyadmin のフォルダーにある main.php にある当該コードをコメントアウトすればよい、という記述があったのを発見。 これを参考に、 バージョンの先頭3文字を比較して違っていたらエラーを表示する、というプログラムの部分を見つけることができたので(5.0と5.1を比較して警告を出している)、これを先頭1文字のみの比較として、とりあえずエラー警告を消すことにした。
具体的にはmain.php の341行目
... 0, 3)...
とあるところ2箇所、3を1に変更するだけである。 原因を直さないで、表示をさせないだけの方便ではあるが、これでウォーニングメッセージは消える。
この入門本、最初に「wordpress を使えば、完璧なブログサイトを30秒フラットで作れるようになっているこのご時勢、簡単に習得できるから、とか、無料で入手できるから、だけの理由だけで PHP と MYSQL を習得する理由にはならない。」と書いてある。、じゃあいったい、自分としてはどうして習得する必要があるのか?ということになるが、今のところ、知的好奇心から、という答えしか浮かばない。 というわけで、すぐに挫折するかも。