2.3 Microsoft Drivers for PHP for SQL Server
少しこのドライバーについて解説しておきましょう。
ソースやバイナリーはCodePlexで入手できるほか、正式にマイクロソフトのダウンロードセンターでもバイナリーを入手できます。執筆時点では最新バージョンは2.0となっています。
動作原理
このドライバーはWindows OS上でのみ稼働可能です。利用方法もほかのPHP拡張とまったく同じ方法でphp.iniで記述をし、利用することになります。構造上はSQL Serverに接続するように最適化されたODBCドライバーの上で動作する薄いラッパー構造になっています。Windows用のPHPランタイムと同様にスレッドセーフ用とノンスレッドセーフ用が分かれているので注意が必要です。
バージョン1.1からUTF-8対応
このドライバーが登場したバージョン1.0はUTF-8の対応がまだで、日本語を利用できるとは言えない動作条件だったのですが、1.1からUTF-8が利用可能になっています。
バージョン2.0からPDOに対応
バージョン2.0の大きな機能拡張のポイントとしてはPDOの対応があります。このことでPHPアプリケーションではPDOに対応しておくことで、データベースの切り替えが最もシンプルな場合には接続文字列の変更だけでできるようになります。これは朗報だと思います。PHPを使ってスクラッチで開発する場合はもちろん、著名なCMSなどでもその動きがありますので、PDO対応が進むと今まですごく大変だと思われていたSQL Server対応がかなり選択肢となる可能性が高まります。
このあたりの内容はPHPカンファレンス2010のマイクロソフトセッションでご紹介した通りです。
以上の背景と技術動向によってPHPからマイクロソフトのSQL Serverを利用するシナリオが現実解として可能になってきたわけであり、そういう構成をお考えいただくことが可能になりました。
2.4 マイクロソフトの思惑
直接こういう視点のコメントをしないことが気持ち悪さを生むもとになるのではっきり書きます。PHPの利用者にぜひWindowsとSQL Serverの特長を活かし、使用していただきたいのです。そこでの売り上げをマイクロソフトはむろん期待していますし、そのような案件ビジネスを皆さんが行うことで皆さん自身も新しい発想のシステム開発でベネフィットが得られることを期待しています。
Windowsは評価版以外に無償版は存在しない(注2)のですが、その上の基盤となるSQL Serverには無償のExpress Editionがありますし、開発ツール関係も学習用途で用意されているVisual Studio 2010 Expressや今後出てくるWebMatrixなど無償のものが増えてきていることから実際に今回書いている構成は手軽に入手できます。
これらのインストールを簡単に行うのであればWeb Platform Installerを使用することを推奨します。
Windows XPにも対応しているので、最小構成を組む上ではお持ちの環境でやっていただく分にはコストがかからないです。
Web制作会社の方にはWebsiteSpark、学生の方にはDreamSpark、起業家の方にはBizSparkという条件を満たすと一定期間Windowsも無償で利用できるプログラムがあります。