LoginSignup
4
4

More than 5 years have passed since last update.

Windows Server 2012 R2にPHPとSQL Serverのドライバーを入れた時のメモ

Posted at

Windows Serverでは、APS.NETを利用していますが、PHPも使えるようにする際のメモ。

前提

  • OSインストール済
  • IISインストール済
  • SQL Serverインストール済(ここでは2014で検証)
  • インストールするPHPは5.6(Laravel5.1.xに対応するため)

インストール

インストールの方法はいろいろあるが、WebPIを利用するのが一番簡単そうなので、それで行います。

WebPI(Web Platform Installer)をダウンロードし、起動して、検索ウインドウで"php"を検索。そこで出てくる、

  • php5.6
  • Microsoft Drivers 3.2 for PHP v5.6 for SQL Server in IIS

の2つを選択肢、インストールする。依存コンポーネントも含め、いくつかのものがインストールされます。

動作確認

インストール場所

インストールは

C:\Program Files (x86)\PHP

に行われ、php.iniは、

C:\Program Files (x86)\PHP\v5.6\php.ini

となる。SQL Serverアクセスに必要なモジュールは標準でONになっているもよう。
その他、IISへの登録とかも終わっているので後は使うだけ。

extension=php_pdo_sqlsrv.dll
extension=php_sqlsrv.dll

私はPDOを使う派。ちゃんと動いているかは、

<?php

    phpinfo();

でどうぞ。設定を変更したらIISの再起動が必要です。

SQL Serverへの接続確認

PDO生成時の文字列が少し違う程度で、後はMySQLなどと同じ。まあ、それがPDOですが。
こんな感じ。

testdb,usersテーブル,nameカラムはあることが前提。

<?php

    //PDO
    $dbh = new PDO("sqlsrv:server=localhost;database=testdb","sa","password!");
    //エラー出力設定(別にいらない)
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    //通常の利用
    $stmt = $dbh->prepare("select * from users");
    $status = $stmt->execute();

    //出力
    foreach($stmt->fetchAll(PDO::FETCH_ASSOC) as $row)
    {
        echo $row["name"]."<br>";
    }

普通にアクセスできました。

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4