My puppyのブログ

学んだ事や作っているプログラムなどについて書いています。

Windows10からPHP7でAzure SQL Databaseに接続する方法

今回の環境:

  1. XAMPP for Windows 7.0.8
  2. Windows 10
  3. Azure SQL Database (すでにデータベース作成済みとします)

XAMPPをインストールしたWindows10上のlocalhostからPHP7でAzure SQL Databaseに接続する方法です。

こちらのその手順が書いてあります。

azure.microsoft.com

上のリンク先の「手順 1: 開発環境を設定する」の項目に書かれている「PHP 開発用の開発環境を構成する」をクリックすると、こちらのページ(英語)に飛びます。

Step 1: Configure development environment for PHP development

このページには英語でこう書かれています。

この中の「Download Microsoft PHP Driver」をクリックすると、「Microsoft Drivers for PHP for SQL Server」のページに飛びますので、「Download」ボタンを押下します。

すると「Choose the download you want」と表示されるのですが、一番下の「SQLSRV40.EXE」がPHP7用のファイルですのでチェックボックスにチェックを入れて、「Next」ボタンを押すとダウンロードが開始されます。

ダウンロードした「SQLSRV40.EXE」をダブルクリックして解凍すると、全部で12個のファイルが出てきます。

PHP7のインストールフォルダ直下のextフォルダ(例:C:\xampp\php\ext)に解凍された「php_sqlsrv_7_ts_x86.dll」や 「php_pdo_sqlsrv_7_ts_x86.dll」などのファイルをコピーします。

コピーし終わったら、これらの.dllファイルをPHP7に読み込む為に、「php.ini」(例:C:\xampp\php\php.ini)に以下の行を追加します。(参照:PHP SQL ドライバーの読み込み)

extension = "C:\xampp\php\ext\php_sqlsrv_7_ts_x86.dll"
extension = "C:\xampp\php\ext\php_pdo_sqlsrv_7_ts_x86.dll"

XAMPPのコントロールパネルからApacheを再起動して、「phpinfo();」で設定を確認すると、「sqlsrv」や「pdo_sqlsrv」の項目が追加されていると思います。

つぎに以下のページから、「Microsoft ODBC Driver 13 for SQL Server」をダウンロードしてインストールします。

Download Microsoft® ODBC Driver 13 for SQL Server® - Windows from Official Microsoft Download Center
(「ダウンロード」ボタンを押下すると、x86用かx64用かの選択画面が出ます。)

これでWindows10からPHP7を使ってAzure SQL Databaseに接続するためのドライバはインストール出来ました。

以下のPHPスクリプトで「myserver」、「AdventureWorks」、「MyUser」、「MyPassword」を設定してlocalhost上で実行すると、「Success!」が表示されてAzure SQL Databaseに接続できると思います。(参照:Step 3: Proof of concept connecting to SQL using PHP

<?php
    $serverName = "tcp:myserver.database.windows.net,1433";

    $connectionOptions = array( "Database"=>"AdventureWorks",
                                "Uid"=>"MyUser",
                                "PWD"=>"MyPassword");

    $conn = sqlsrv_connect( $serverName, $connectionOptions );

    if( $conn == false ){
        echo "Failure.";
    } else {
        echo "Success!";
    }

Azure SQL DatabaseでJSONファイルを扱う方法

azure.microsoft.com

Azure SQL DatabaseでJSONファイルを扱う方法ですが、まずは今年の春に投稿されたこちらのブログ記事をご参照ください。

Azure SQL Database の JSON 関数のパブリック プレビューを発表 – IT プロフェッショナルのみなさまへ

これをするには、Azure SQL DatabaseをV12にアップグレードする必要があります。

こちらにその方法が書いてあります。

azure.microsoft.com

TED APIで取得したJSONファイルをAzure DocumentDBで扱おうかと思っていたのですが、Azure SQL Databaseで扱えるなら選択肢が増えますね(#^.^#)

azure.microsoft.com

<追記>

ちなみにMySQL5.7からJSONが扱えるようになりました。

こちらのQiitaの記事に解説が書いてあります。

qiita.com

MySQLJSONが扱えるとなると、レンタルサーバーでも運用が出来そうですね(^^)/

XserverでもMySQL5.7が使えるみたいです。

www.xserver.ne.jp

介護ニュースヘッドラインの近況

2013年にPHP+MySQLで作成した介護ニュースヘッドラインですが、最近ではほとんど手を入れていません。

kaigo.news

このサイトは現在プログラムで2時間ごとに自動的にニュースを取得して配信しています。

ランキングページ(http://kaigo.news/?scoring=r)もプログラムにより自動更新されているので、普段は全て自動で動いています。

直近1年間(2015/08/02~2016/08/01)でのGoogle Analyticsのデータは以下のようになります。

ユーザー 75,750
ページビュー数 449,144
セッション 212,631
新規セッション率 34.77%
平均セッション時間 00:02:52
直帰率 60.78%

ニュースへのコメントやブックマークなどの機能も作成したいのですが、もう少し先の話になりそうです(;^_^A

現在ちょっと時間がなくて、なかなか手を入れられない状況です(>_<)

もし介護ニュースヘッドラインのサイトを丸ごと(ドメインPHPで書かれたソースコード一式、その他MySQLのデータやTwitter&Facebookページ等)買い取りたい方がいらっしゃいましたら、ご連絡をお待ちしております<m(__)m>

個別のご相談はこちらのメールフォームにて承っております。

「介護ニュースヘッドラインお問い合わせフォーム」
http://form1.fc2.com/form/?id=897599