laravel 使用 sqlsrv 时,出现:could not find driver 错误
先说下部署环境
# laravel 版本为:6.x
# 数据库驱动为:DB_CONNECTION=sqlsrv
# 服务器系统:2012 R2
# php 版本:7.3+
下面说下我的部署步骤
- 直接在服务器上部署
- 部署好之后,直接打开域名进行访问,出现如下错误:could not find driver
- 因为使用
sqlsrv
时,需要下载对应的Microsoft Drivers for PHP for SQL Server
扩展,
https://docs.microsoft.com/zh-cn/sql/connect/php/download-drivers-php-sql-server?view=sql-server-ver15
- 下载后的是一个
.exe
文件,解压后会有对应PHP的版本
- 然后将和你版本匹配的扩展移动到
php
ext 文件夹下,并且在php.ini
文件中添加如下两行
# 注:这里改成和自己系统匹配的版本
extension=sqlsrv_73_nts_x64.dll
extension=pdo_sqlsrv_73_nts_x64.dll
- 然后重启
php
服务 - 访问后还是出现一样的错误:could not find driver
- 安装
ODBC
,https://www.microsoft.com/zh-CN/download/details.aspx?id=36434,下载后安装即可 - 重启
php
后,继续访问,还是出现一样错误。 - 安装 Visual C++ 运行库,http://www.downza.cn/soft/211494.html
- 下载安装后,重启
php
。 - 测试成功
最后安装 visual c++ 运行库,我也是查看了很多资料才知道,具体参考了这篇文章:https://blog.csdn.net/weixin_41100077/article/details/103770184