Windows Server 2008 R2でIIS + PHPからSQLServer 2008 R2に接続する

Windows Server 2008 R2でIIS + PHPが動く環境を作成しました。
Windows 2008 R2にIIS 7 + PHP 5.3.8の稼働環境を構築する

せっかくなので、SQL Server 2008 R2をインストールし、IIS + PHPから
SQL Serverへの接続をためしてみます。





SQL Server 2008 R2のインストール



SQL Server 2008 R2は以前インストールしたことがあります。
こちらの手順でインストールを行いました。
Microsoft SQL Server 2008 R2 RTM - Expressをインストールする

異なるのは、認証モードを「Windows認証モード」ではなく、
「混合モード」を選択した点です。

どうも、混合モードじゃないとPHPからSQL Serverへ接続できないみたいです。

04_001_20111204162849.png






Microsoft Drivers for PHP for SQL Server



SQL Serverに接続するためのドライバをダウンロードします。
http://www.microsoft.com/download/en/details.aspx?id=20098

ここから、SQLSRV20.EXEをダウンロードして実行。
こんな画面が表示されるので[Yes]を選択します。

04_002_20111204162849.png


ドライバの解凍先を適当に指定して[OK]を選択。

04_003_20111204162849.png


解凍先に指定したフォルダを見てみると、接続に使用するDLLがあるかと思います。
実際に使用するDLLは2つだけ。

数字は使用しているPHPのバージョン。
tsは使用しているPHPがThread Safeの場合。
ntsは使用しているPHPがNon Thread Safeの場合に指定します。

今回使用しているPHPは、バージョン5.3のNon Thread Safe版なので、

php_pdo_sqlsrv_53_nts_vc9.dll
php_sqlsrv_53_nts_vc9.dll


この二つを、phpの拡張モジュールを配置する場所、例えばC:\php5\extフォルダに
コピーしておきます。

04_004_20111204162849.png



次に、php.iniにコピーしたdllをロードする設定を記載します。

;extension=php_pspell.dll
;extension=php_shmop.dll
;extensionの定義がある末尾に、以下二行を追加
extension=php_pdo_sqlsrv_53_nts_vc9.dll
extension=php_sqlsrv_53_nts_vc9.dll




phpinfo()を表示して、「pdo_sqlsrv」が表示されて入れば、ちゃんと設定できてます。

04_005_20111204162848.png





接続テスト




データベースに接続するだけのサンプルを作成し、実行してみます。


<?php
#接続して、切断するだけのサンプル

#データベースのインスタンス名を指定
$serverName = ".\SQLEXPRESS";


#接続情報を指定
$connectionInfo = array("UID"=>"sa",
    "PWD"=>"Passw0rd",
    "CharacterSet"=>"UTF-8");

$con = sqlsrv_connect($serverName, $connectionInfo);

if (!$con) {
    echo "SQL Serverへの接続に失敗しました。";
    exit();
}

echo "SQL Serverへ接続しました。";

sqlsrv_close($con);

?>





ちゃんと接続できてるみたい。

04_006_20111204162848.png








Adminerによる接続テスト



そういえば、AdminerはMS SQLにも対応しているのでした。
http://www.adminer.org/

以前、MySQLで動作確認した記事はこちら。
MySQL管理ツール Adminerのインストール


Adminerのサイトから、Adminer 3.3.3をダウンロード。

04_007_20111204162944.png


C:\inetpub\wwwrootにファイルを保存して、ブラウザでアクセスします。

以下の情報を入力してログイン。

データベース種類MS SQL
サーバ.\SQLEXPRESS
ユーザー名sa
パスワード[SQL Serverインストール時に指定したパスワード]


04_008_20111204162944.png



ちゃんとデータベースの内容が確認できました。

04_009_20111204162944.png




参考URL



PHP on Windows ガイドライン (ドラフト)
http://technet.microsoft.com/ja-jp/iis/gg535422

関連記事

コメント

非公開コメント

プロフィール

Author:symfo
blog形式だと探しにくいので、まとめサイト作成中です。
Symfoware まとめ

PR




検索フォーム

月別アーカイブ