WindowsのPHPからSQL Serverに接続する方法


目的

普段LAMPP環境でDBはMySQLばかり使っていたのですが、とある案件でDBにSQL Serverを選択することに。
Windows(XAMPP)上のPHP(Laravel)からSQL Severに接続するにあたり、必要なドライバー等を調べたので手順をまとめます。

手順

手順は以下の通りです。

環境調査

まずは自分のPHP環境をphpinfo()で下調べします。

確認するのは以下の3つ。

  • PHP Version
  • Architecture
  • Thred Safety

上のスクリーンショット例では下記の情報をメモしておきます。
PHP Version : 7.3
Architecture : x64
Thred Safety : enabled

ドライバーダウンロード

Microsftの公式サイトからMicrosoft SQL Server 用 Drivers for PHPをダウンロードします。

SQL server 2019用

SQL server 2017用

SQL server 2016用

ドライバーの配置

ダウンロードしたexeファイルを実行します。
実行するとファイルが展開されるので、そのファイルの中から環境にあったdllファイルをPHPインストール先のphp\ext\にコピーします。
【例】XAMMPの場合は、c:\xampp\php\ext

dllファイルは以下のようなファイル名になっているため、最初に調べた環境に合わせたものを選んでください。
php_pdo_sqlsrv_[PHP Version]_[Thred Safety]_[Architecture].dll
PHP Version : PHP7.3なら73
Thred Safety : enabledならts、disabledならnts
Architecture : x32もしくはx64

php.iniの修正

php.iniファイルにextensionの記述を追記します。
指定するファイルは先ほど配置したdllファイルです。
以下は初めに示したスクリーンショットの環境の場合での記述例です。

php.ini
extension=php_pdo_sqlsrv_73_ts_x64.dll

確認

Apacheを再起動後、再度phpinfo()を表示して反映されているか確認します。
pdo_sqlsrvが追加されていれば設定完了。