ソフトウェア開発者の日常

こだわりなく書きたいことを書いていきます。

PHP:PHP 5.3以降でMicrosoft提供のSQL Server用のドライバを利用する際の注意点

Microsoft SQL Server 2012 Native Clientが必要なことはちゃんと読めばわかる内容ですが、読まずに思い込みで設定していて悩みました。
f:id:AJYA:20140602053633j:plain

Windwos Server 2008 R2 + SQL Server 2008 + IIS 7.5 + PHP 5.3 という環境を構築しなければならなくなりました。
PHPからSQL Serverを利用するためには、MicrosoftSQL Server用ドライバを利用するというのは知っていました。
検索すると似たような環境での構築の記事を書かれている方もいて、参考になりそうです。

dllが見つからない

Windows Serverのインストールが終わり、IISのインストールとPHPの配置が終わったので、SQL Server用ドライバをインストールしました。
SQL Server用ドライバは、「Microsoft Drivers 3.0 for PHP for SQL Server」を以下のページからダウンロードしました。
Download Microsoft Drivers 3.0 for PHP for SQL Server from Official Microsoft Download Center

検索で見つけた記事を参考に、dllファイルをextディレクトリに移動し、php.iniを更新してIISを再起動しても、SQL Server用ドライバは読み込まれません。
イベントビューアを見ると、dllが見つからないと記録されています。
extディレクトリへのパスを「c:\ext」と記述しても同じです。

Microsoft SQL Server Native Clientが必要

改めて情報を検索していると、Microsoft SQL Server Native Clientが必要と書かれている記事を見たので、Microsoft Drivers 3.0 for PHP for SQL Serverのページを改めて読みました。
System Requirementsに「Microsoft SQL Server 2012 Native Client available in the SQL Server 2012 Feature Pack.」とあるので、Microsoft SQL Server 2012 Native Clientが必要だということがわかりました。

以下のページのインストール方法をクリックすると、ダウンロードリンクが用意されています。
Microsoft SQL Server 2012 Native Client」のx64パッケージをダウンロードしてインストールしました。
Download Microsoft® SQL Server® 2012 Feature Pack from Official Microsoft Download Center

IISを再起動すると、イベントビューアにdllが見つからないという記録はされず、SQL Server用ドライバは読み込まれました。


SQL Server用ドライバをインストールして、dllファイルの配置とphp.iniの変更だけ書かれている記事を書かれている方は、既にMicrosoft SQL Server 2012 Native Clientがインストールされた環境で利用されているんですかね。
Microsoft SQL Server 2012 Native Clientのインストールを書かれていない記事が何件もあって、それで動作している内容なので不思議です。