PHP on IISからSQL Serverを使う


IIS上のPHPからSQL Server2008/2005にアクセスするには、以下の手順を踏む必要があります。

  1. Microsoft SQL Server Native Clientのインストール
    Microsoft SQL Server 2008 用 Future Packのダウンロードページの注意事項の一覧から、IISが稼動している環境にあったMicrosoft SQL Server 2008 Native Client(sqlncli*.msi)をダウンロードし、インストールする。
    ページ先頭にある、一括でのダウンロードなどでもかまわない。
  2. SQL Server Driver for PHPのインストール
    1. SQL Server Driver for PHP Version 1.1のダウンロードページから、ファイルをダウンロードする。
    2. ダウンロードしたファイルを適当なフォルダにファイルを展開する。
    3. 展開したファイルの内、以下のファイルを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
  3. php.iniファイルの編集
    php.iniファイルにextensionとして、追加したファイルを指定する。
    ex.) extension=php_sqlsrv_53_ts_vc9.dll
    ※ファイル名を変更しても良い
  4. SQL Serverにログインの作成
    IISからWindows認証でログインできるよう、SQL Serverに「NT AUTHORITY¥IUSR」ログインを作成する。

    1. Microsoft SQL Server Management Studioを起動
      [スタート]メニュー - [プログラム] - [Microsoft SQL Server 2008] - [SQL Server Management Studio]を選択し、ログインする。
    2. 左側のツリーで「ログイン」を右クリックし、「新しいログイン...」を選択する。
      sql_server_login01
    3. 「ログイン」 - 新規作成画面で必要な情報を入力する。
      • 「全般」ページ
        ログイン名:NT AUTHORITY¥IUSR
        sql_server_login02
      • 「ユーザー マッピング」ページ
        「このログインにマップされたユーザー」の一覧で、PHPから利用したいデータベースを選択する。
        sql_server_login03

以上

参考)

[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をインストールしてください。

[参考書籍]

タグ: , ,

コメントをどうぞ

トラックバックURL