SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

PHPからMicrosoft SQL Serverを使おう!(AD)

PHPからSQL Serverへの正しい接続方法

PHPからMicrosoft SQL Serverを使おう! 第2回

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

 前回からシリーズでお送りしている「PHPからMicrosoft SQL Serverを使おう!」、第2回目は、PHPコードからのMicrosoft SQL Serverへの接続についてです。

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

はじめに

 前回からシリーズでお送りしている「PHPからMicrosoft SQL Serverを使おう!」、第2回目は、PHPコードからのMicrosoft SQL Server(以下 SQL Server)への接続についてです。

 今回の記事では、マイクロソフトがPHP向けにリリースした、SQL Server Driver for PHPドライバーの入手とインストール、実際にPHPのコードからSQL Serverに接続するための方法について紹介させていただきます。

1 PHPコードからSQL Serverへの接続

1.1 PHPコードからSQL Serverへ接続するための手段

 PHP 5.2までのPHPランタイムには、SQL Serverに接続するためのMssql関数(php_mssql.dll)が用意されており、アプリケーションはこれを使用してSQL Serverに接続することができましたが、Windows版のPHP 5.3以降のバージョンではサポートされない状態となっていました。

 また、マイクロソフトからは、PHP 5.3以降のPHPでも使用可能なSQL Server 2005用のドライバーがリリースされましたが、UTF-8に絡む文字化けなどで、なかなか気軽に使用できるという状況ではありませんでした。

 しかし、その後リリースされたSQL Server Driver for PHP Version 1.1では、これらの問題に対応し、さらには最新のVersion 2.0ではPDOがサポートされました。これにより他のデータベースサーバーとの相互運用性が格段に向上しています。

図 : SQL Server Driver for PHP 1.1と2.0の構造比較
図 : SQL Server Driver for PHP 1.1と2.0の構造比較

1.2 SQL Server Driver for PHPを使用するには

 SQL Server Driver for PHPを使用するには、(1)ドライバーのファイルを入手し、(2)PHPランタイムのエクステンションに配置して、(3)php.iniファイルに設定を追加する、という一連の作業を行います。

 これらの作業は、一般的なPHP拡張を追加する手順と同じです。

 SQL Server Driver for PHPからインストールまでの具体的な手順は以下の通りです。

  1. ダウンロードセンターよりMicrosoft Drivers for PHP for SQL Serverをダウンロードします。
  2. ダウンロードしたファイル「SQLSRV20.EXE」をダブルクリックし、任意のフォルダに内容を解凍します。
  3. 解凍されたファイルから、使用しているPHPランタイムのバージョンと種類にあった*.dllを、PHPランタイムのextフォルダに配置します。

 なお、解凍されたファイルには、PHP 5.2と5.3用の、スレッドセーフ、ノン・スレッドセーフ用の2つのsqlsrvドライバーと、PDOのドライバーのファイルが含まれています。ドライバーファイルがスレッドセーフなものであるか否かの判断は、ファイル名に含まれる文字、ts(Thread Safe)かnts(Non Thread Safe)かで行います。

図 : SQLSRV20.EXEに含まれるファイル
図 : SQLSRV20.EXEに含まれるファイル

 PHPのバージョンとファイルの対応についての詳細は、MSDNのドキュメント「System Requirements(Microsoft Drivers for PHP for SQL Server)」内の表をご参照ください。

  1. php.iniファイルにドライバーの参照情報を追加します。

 PHPランタイム内にあるphp.iniファイルをテキストエディターでオープンし、様々なエクステンション(拡張)への参照が"extension="で記述してある箇所に以下のように記述を追加します。

例)PHP 5.3 ノン・スレッドセーフ用のドライバーを指定する場合
extension=php_sqlsrv_53_nts_vc9.dll
extension=php_pdo_sqlsrv_53_nts_vc9.dll

 なお、php.iniファイルが存在しない場合は、php.ini-recommendedファイルをphp.iniにリネームして使用します。

 以上でphp.iniファイルへの設定の追加は完了です。

 PHPスクリプトファイルにphpinfo関数を記述して実行し、ドライバーが正しく組み込まれたか確認します。

 正しく組み込まれていれば、phpinfo関数の結果に、以下のような設定が表示されます。

図 : sqlsrvドライバーの情報
図 : sqlsrvドライバーの情報
図 : sqlsrv PDOドライバーの情報
図 : sqlsrv PDOドライバーの情報

次のページ
1.3 PHPからSQL Serverに接続するコード

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
PHPからMicrosoft SQL Serverを使おう!連載記事一覧

もっと読む

この記事の著者

物江 修(日本マイクロソフト株式会社)(モノエ オサム(ニホンマイクロソフトカブシキガイシャ))

2000年よりマイクロソフト、NTT ドコモ のジョイントベンチャー立ち上げに参加。技術者として商用 ASP サービスの設計と開発に従事。 2004 年、マイクロソフトに入社。インターネット開発製品のサポートエンジニアを経て現職に。 現在は IIS から ASP.NET まで、マイクロソフトのインターネット技術の啓発活動を行う。ブログ: http://blogs.msdn.com/b/osamum/ Twitter: osamum_MS

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/5736 2012/01/27 16:43

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング