IIS上のPHPからSQL Server2008/2005にアクセスするには、以下の手順を踏む必要があります。
- Microsoft SQL Server Native Clientのインストール
Microsoft SQL Server 2008 用 Future Packのダウンロードページの注意事項の一覧から、IISが稼動している環境にあったMicrosoft SQL Server 2008 Native Client(sqlncli*.msi)をダウンロードし、インストールする。
ページ先頭にある、一括でのダウンロードなどでもかまわない。 - SQL Server Driver for PHPのインストール
- SQL Server Driver for PHP Version 1.1のダウンロードページから、ファイルをダウンロードする。
- ダウンロードしたファイルを適当なフォルダにファイルを展開する。
- 展開したファイルの内、以下のファイルをPHPのextension_dir(ex. C:¥php52¥ext)にコピーする。
- php_sqlsrv_52_nts_vc6.dll
(Non-thread-safeのPHP5.2を利用している場合) - php_sqlsrv_52_ts_vc6.dll
(Thread-safeのPHP5.2を利用している場合)
- php_sqlsrv_53_nts_vc9.dll
(VC9バージョンでNon-thread-safeのPHP5.3を利用している場合)
- php_sqlsrv_53_ts_vc9.dll
(VC9バージョンでThread-safeのPHP5.3を利用している場合)
- php_sqlsrv_53_nts_vc6.dll
(VC6バージョンでNon-thread-safeのPHP5.3を利用している場合)
- php_sqlsrv_53_ts_vc6.dll
(VC6バージョンでThread-safeのPHP5.3を利用している場合)
※Non-thread-safeかThread-safeかは、PHPのフォルダにphp5.dllかphp5ts.dllのどちらがあるかで判断できる。
- php5.dllがある場合、Non-thread-safe
- php5ts.dllがある場合、Thread-safe
※VC9バージョンかVC6バージョンかは、%PHP_HOME%¥snapshot.txtに、「msvcr90.dll」という文字列が含まれるかどうかで判断できる。
- msvcr90.dllが含まれる場合、VC9
- msvcr90.dllが含まれない場合、VC6
- php_sqlsrv_52_nts_vc6.dll
- php.iniファイルの編集
php.iniファイルにextensionとして、追加したファイルを指定する。
ex.) extension=php_sqlsrv_53_ts_vc9.dll
※ファイル名を変更しても良い - SQL Serverにログインの作成
IISからWindows認証でログインできるよう、SQL Serverに「NT AUTHORITY¥IUSR」ログインを作成する。
以上
参考)
[2009/08/19] SQL Server Driver for PHP 1.1 CTPのリリースに伴い、バージョンに合わせて内容を修正しました。
SQL Server Driver for PHP 1.0をご利用の場合は、Microsoft SQL Server 2005 用 Future PackのNative Clientをインストールしてください。
[参考書籍]
- SQL Server 2008の教科書―基礎から実践まで学べる
- MCP教科書 SQL Server 2008 (試験番号:70-432)
- アドバンストMicrosoft SQL Server 2008構築・管理 (マイクロソフトコンサルティングサービステクニカルリファレンスシリーズ)
タグ: IIS7.0, PHP, SQL Server



