PhalconでMicrosoft SQL Serverを使ってみる
もちろんリモートのSQL Serverを使います。
Windowsの場合もMacの場合もクライアントにODBCドライバが必要になります。
ODBC Driver インストール
2020.11.25 macでpeclコンパイルインストールがうまくいかない模様。以下からバイナリを取得するのがベストNTSのやつを
MacにMSSQLのODBCドライバをインストール
Macにインストールは、Linuxとかと似てるんですが、以下にMicrosoftさんが丁寧に解説してくれてますので、コマンドもそのまま実行すれば大丈夫です。
ただ、一気にコマンドを実行するとうまく行かないケースがあるので、
1行ずつコピーして実行してください。
Windows にODBCドライバをインストール
以下サイトからダウンロード、インストールします。
https://www.microsoft.com/ja-JP/download/details.aspx?id=36434
Microsoft SQL Server 用 PHP ドライバーのインストール
Macの場合
ここにある、手順2と3だけでよい。基本的には。すでにいろいろ開発してる人は、3だけでも良いかもです。
手順 2. 必須コンポーネントのインストール
Linux と macOS のインストールに関するページの手順に従って、macOS 用 ODBC ドライバーをインストールします。
さらに、GNU make ツールをインストールする必要がある場合があります。
brew install autoconf automake libtool
手順 3. Microsoft SQL Server 用 PHP ドライバーのインストール
sudo pecl install sqlsrv
sudo pecl install pdo_sqlsrv
pecl (PHPのライブラリを扱うやつ)自体が入ってない可能性もあるので、command not found となる場合はググってくださいw
pecl install sqlsrv
と
pecl install pdo_sqlsrv
の結果画面に、
どこにインストールされたかパスが出力されるので、しっかりと覚えておいてください。
そこのパスを
php.ini
に以下のように記述することになるかとおもいます。以下は例です。
extension=/usr/local/lib/php/pecl/20180731/sqlsrv.so
extension=/usr/local/lib/php/pecl/20180731/pdo_sqlsrv.so
※順番もpdoのほうが後がよいかとおもう。
Mac(Linux系)は、sqlsrv.soとpdo_sqlsrv.soです。
Windows のPHP ドライバもMacのときと同じ
URLは同じです。現時点では
https://www.microsoft.com/en-us/download/details.aspx?id=57916
ここにあるのが最新っぽいです。
sqlsrv.dll
pdo_sqlsrc.dll
windows と mac/Linuxの違いはso or dllの違いなのでmacのときみたいに、
インストールされた場所をphp.iniに書けば良い。
ここまでは、PHPでMSSQLを使う方法でした。ここからがPhalcon
Phalconでmssqlを扱う!
Phalcon用Adapter/dialectを用意する
どんなに探しても、Phalcon2.xまでだったり、Phalcon3.0.xといいつつも、ちゃんと動かないものだったりしたので、私が作りまいsた!
composer で扱えるようにもしたので、
composer installできるようにしたよ(packagistに登録しといた)
composer require qualiasystems/phalcon-sqlsrv
とりあえず、これで一通りfindfirstとかfindとか使えたのでこのまま行ってみようと思ってますが、
もし使ってみてここが変だよ!ってところはコメントください。