折腾了好久,最后终于连接成功了!
注:我使用的的phpStudy。
php.ini中配置:
;这是php中带的驱动 extension=php_sqlsrv.dll extension=php_pdo_sqlsrv.dll
下载安装Microsoft SQL Server 2012 Native Client ODBC driver X64(我的电脑上64位 Win7).
我使用的是ThinkPHP框架,配置如下:
<?php return array( 'URL_MODEL' => 3, // 如果你的环境不支持PATHINFO 请设置为3 'DB_TYPE' => 'sqlsrv', 'DB_HOST' => 'localhost', 'DB_NAME' => 'Northwind', 'DB_USER' => 'sa', 'DB_PWD' => '', 'DB_PORT' => '1433', 'DB_PREFIX' => '', 'APP_AUTOLOAD_PATH' => '@.TagLib', 'APP_GROUP_LIST' => 'Home,Admin', 'DEFAULT_GROUP' => 'Home', 'APP_GROUP_MODE' => 1, 'SHOW_PAGE_TRACE' => 1//显示调试信息 );
简单测试一下:
class IndexAction extends Action{ public function index(){ $Model = M('Customers')->select(); var_dump( $Model); } .....
PHP高版本对MSSQL支持配置比较复杂,不如5.2那么简单,
5.3使用
php_pdo_sqlsrv_53_ts.dll
php_sqlsrv_53_ts.dll
调试通过
5.3n也调试通过,5.5版本驱动为Preview版,未能按此方法调试通过,不知道是什么原因。
其实使用的是微软官方提供的驱动:
php_pdo_sqlsrv_5x_ts.dll
php_sqlsrv_5x_ts.dll
及
php_pdo_sqlsrv_5x_nts.dll
php_sqlsrv_5x_nts.dll
注意:ts为thread safe,nts则反之。在配置驱动时,要注意php的模式,使用php5ts.dll还是php5.dll。