FuelPHPからデータベースに接続するにはdb.phpを編集すればいいのだが、Microsoft SQL Serverへの接続がうまくいかなかったので、設定方法をメモしておく。
動作環境
- Windows Server 2012 R2 (x64)
- PHP 5.6.11 (x64)
- SQL Server 2014
- FuelPHP 1.7.3
要件
FuelPHPにはSQL Serverの専用コネクタがないので、PDO(PHP Data Object)を用いる。なお、PHPにpdo_sqlsrvドライバーがインストールされている必要がある。
db.phpの設定
fuel/app/config/db.php
やfuel/app/config/development/db.php
の内容は下記のように設定する。
return array(
'default' => array(
'type' => 'pdo', // PDO を利用
'connection' => array(
'dsn' => 'sqlsrv:Server=HOST;Database=DATABASE;',
'username' => 'USERNAME',
'password' => 'READER',
'persistent' => false,
),
'identifier' => '',
'table_prefix' => 't_', // テーブルプリフィックスが必要な場合
'charset' => NULL,
),
);
type
にpdo
、connection.dsn
には接頭辞をsqlsrv:
としてServer
にホスト名を指定することが重要。
なお、connection.dsn
に設定するDSN文字列の詳細は PHP: PDO_SQLSRV DSN – Manual に詳しい。