XAMPP環境下でPHPからPDOでSQLserver接続は確認しMSドライバーで
全く問題なしで稼働して1年になる。
SQLserverの接続事例だがネットで検索して情報量がすくない。
で接続例を記載する
・SQLserverの環境調査
サーバのアドレス 192.168.11.21
インスタンス名 SQL2017
使用ポート 64477
構成マネージャ>>SQLのネットワーク設定>>SQL2017プロトコル>>TCPIP>>
プロパティ>>IPALL>>動的アドレス 64477 (スタンダード以上の場合は4433)
毎回変わるので本番は動的でなく固定を使用する事
ファイアオールに穴をあけておくこと
SQLserver認証必須
使いたいDB COMMONDB ユーザIDsa パスワード XX
・database.phpに
‘sqlsrv’ => [ ‘driver’ => ‘......
‘prefix_indexes’ => true, ],の記載がある事 (なければgoogle先生に聞いて下さい)
ここが鬼門であって、ここは書き換え不、初期設定のままで書き換えるのが
.enである。くれぐれも注意
・.envを書き換え
DB_CONNECTION=sqlsrv
DB_HOST=192.168.11.21\SQL2017
DB_PORT=64477
DB_DATABASE=COMMONDB
DB_USERNAME=sa
DB_PASSWORD=xx(実際のパスワード)
・php artisan migrateの実行
・テーブルが作成されるか
php artisan make:model Post –migrate
・xxxxcreate_posttableの書き換え Schema::create(‘posts’, function (Blueprint $table) { $table->bigIncrements(‘id’); $table->string(‘cd’); $table->string(‘name’); $table->timestamps(); });
・php artisan migrate
・SQLManagerで見ると
postsでid,cd,name ,created_at,updated_atが追加されていればOK
ちなみにテストした訳ではないが
https://qiita.com/ttn_tt/items/c9e78049e203956649dbに(以下引用)
ブラウザでページにアクセスした際に、ドライバのエラーが出ました。
これはfpm経由でのphp実行時の設定情報を表示した際にSQL Serverドライバーの参照先が設定されていないからだと分かりました。
Iniファイルの一覧であるAdditional .ini files parsed
の欄にSQL Serverドライバの設定を追加するには
Scan this dir for additional .ini files
の参照先に、下記のiniファイル
30-pdo_sqlsrv.ini
20-sqlsrv.ini
を追加して、SQL Serverドライバのパスを設定しなければならなかったようです