PHP 5.3版本上MS SQL Server的连接配置

折腾了好久,最后终于连接成功了!

注:我使用的的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。

原文地址:https://www.cnblogs.com/GarfieldTom/p/4078572.html