PHPから SQLServerにつないで見ました

いままでWEBシステムというと ASP.Net一辺倒
PHPの勉強でもと思い SQLServerにつないでみました。

IISにPHPを設定したり SQLServerとの接続設定については多くのサイトに載っていますので 詳しくはそちらを参考してください。

動作環境

  • Windows7Pro x86 Sp1
  • IIS7.5  インストールで多いにトラブった記録は、ここ
  • SQL Server Express 2012

※予めPHPをインストールしました。

  1. PHPダウンロードおよび解凍
    PHPのサイトから、PHP5.4.26(VC9 x86 Non Thread Safe)のZip形式をダウンロードし、c:PHP54に解凍しました。
    現時点(2014/03/28)ではPHP5.5.10が最新リリースですが SQLServerのドライバとの関連で5.4にしました。
    実は始めはダメもとで 5.5で試したのですが、案の状 ダメでした。
    詳しくは chorus logの記事を参考にしてください。
  2. IIS設定
    chorus logの記事を参考にして PHPをIISのFastCGIに関連付けを行います。
    web root(自分の場合は c:inetpubwwwroot)に info.php というファイルを作成し、以下のスプリクトを記述し保存します。
    WebServerを再起動し、ブラウザから http://localhost/info.php を開くき、PHPの情報が表示されると PHPのインストール・IISの設定は成功です。

※ PHPからSQLServerにつなぐ
またまた choruslogの記事を参考にして 作業を行いました。
 今回のPHPからSqlServerにつなぐ設定では 本当に choruslog さんの記事にお世話になりました。

  1. ドライバのダウンロード
    マイクロソフトのダウンロードセンタから、Sql Server Express 2012
    なので SQLSRV30.EXEをダウンロードします。なお日本語版のダウンロードセンタには、「Microsoft Drivers 3.0 for PHP for SQL Server」はありませんでした。
  2. ドライバの解凍
    SQLSRV30.EXEは自己解凍式EXEになっています。ダブルクリックすると 次のファイルが展開されます。
    php_pdo_sqlsrv_53_nts.dll
    php_pdo_sqlsrv_53_ts.dll
    php_pdo_sqlsrv_54_nts.dll
    php_pdo_sqlsrv_54_ts.dll
    php_sqlsrv_53_nts.dll
    php_sqlsrv_53_ts.dll
    php_sqlsrv_54_nts.dll
    php_sqlsrv_54_ts.dll
    SQLSRV_Help.chm
    SQLSRV_License.rtf
    SQLSRV_Readme.htm
    SQLSRV_ThirdPartyNotices.rtf
  3. phpの拡張設定
    phpのインストールルート(自分の場合はc:PHP54)にある php.iniをエディタで開き、extension_dirの指定が extension_dir = “ext” となっていることを確認します。自分の場合はコメントになっていたので コメントをはずしました。
    2.で解凍したフォルダから環境に合ったdllを拡張ディレクトリ(自分の場合はc:PHP54ext)にコピーしました。自分の場合は php54 non thread をインストールしたので、php_pdo_sqlsrv_54_nts.dll と php_sqlsrv_54_nts.dll をコピーしました。
    php.iniをエディタで開き extension=***.dll と拡張dllが列挙されている セクションに次の2行を追加しました。

    extension=php_pdo_sqlsrv_54_nts.dll
    extension=php_sqlsrv_54_nts.dll
  4. 動作確認
    WebServerを再起動し、先ほど作成した info.phpをブラウザから開いて  PDO・pdo_sqlsrv およびsqlsrv の欄を確認し pdoサポートとしてSQL Serverのドライバが認識され sqlsrv の欄でのSQL Serverのドライバが認識されていることを確認しました。

以上 choruslog さんの記事の後追いになってしまいましたが PHPからSqlServerに接続する環境ができあがりました。実際のアクセステストは後日・・・

スポンサーリンク
Rectangle大広告
Rectangle大広告

シェアする

  • このエントリーをはてなブックマークに追加

フォローする