LaravelからSqlserver接続 database.phpにごまかさられるな .envが本丸

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ドライバのパスを設定しなければならなかったようです

カテゴリー php