Yii2 连接SqlServer(windows)

最开始的问题:

连接mysql没问题,连接sqlserver 一直不行,但是在客户端可以连接,说明肯定程序或者是扩展哪里没弄对,就一直报could not find driver这个错误

 1、php扩展,可以使用 phpinfo() 来查看是否成功加载了 pdo_sqlsrv 模块,没问题

 

扩展下载链接地址:https://docs.microsoft.com/zh-cn/sql/connect/php/release-notes-php-sql-driver?view=sql-server-ver15我的系统是64位Windows,PHP 线程版本类型是 TS,下载相应的版本,复制扩展文件到 PHP 扩展目录,php.ini 里加如下配置https://docs.microsoft.com/zh-cn/sql/connect/php/release-notes-php-sql-driver?view=sql-server-ver15

extension=php_sqlsrv_7_ts_x64.dll
extension=php_pdo_sqlsrv_7_ts_x64.dll

加完扩展后,一定要重启环境。

 2、php7连接方式改变了,PHP5.6用dblib

'dsn' => 'dblib:host=*.*.*.*;dbname=****'
修改为:
'dsn' => 'sqlsrv:Server=*.*.*.*;DataBase=*****',

 3、到这步了,错误还是出现,通过查找是因为还需要 下载 ODBC Driver(数据库链接驱动)并安装

根据需要选择 ODBC Driver 并进行安装:


Microsoft® ODBC Driver 11 for SQL Server® - Windows (支持Sql Server® 2005)

https://www.microsoft.com/zh-CN/download/details.aspx?id=36434

Microsoft® ODBC Driver 13 for SQL Server® - Windows + Linux (支持最新的SQL Server® 2016)
https://www.microsoft.com/zh-CN/download/details.aspx?id=50420

Microsoft® ODBC Driver 13.1 for SQL Server® - Windows + Linux (推荐安装此版本,支持最新的SQL Server® 2016),我自己安装了这个版本
https://www.microsoft.com/en-us/download/details.aspx?id=53339

如果数据库驱动版本不匹配,那么 PHP 连接 SQL Server 时会出现错误:Invalid handle returned

然后再重启,就ok了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值