LoginSignup
0
0

More than 3 years have passed since last update.

phalcon で mssql(Microsoft SQL Server)を使ってみる

Last updated at Posted at 2020-01-09

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とか使えたのでこのまま行ってみようと思ってますが、
もし使ってみてここが変だよ!ってところはコメントください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0