You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel连接Microsoft SQL Server时出现Could not find driver错误求助

解决Laravel连接SQL Server时的"could not find driver"错误

这个错误的核心原因是PHP缺少SQL Server的PDO驱动,Laravel通过PDO连接SQL Server,必须安装对应驱动才能正常建立连接。以下是针对XAMPP环境(Linux系统)的解决步骤:

1. 确认当前PHP版本

先查看XAMPP使用的PHP版本,执行命令:

/opt/lampp/bin/php -v

记录版本号(如7.4.33、8.1.10),后续安装驱动需要匹配该版本。

2. 安装SQL Server依赖组件

Debian/Ubuntu系系统执行以下命令:

  • 安装ODBC开发依赖:
sudo apt-get install unixodbc-dev
  • 安装Microsoft ODBC驱动(SQL Server连接的基础组件):
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
curl https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get install msodbcsql17

3. 安装PHP的SQL Server扩展

方法一:通过pecl安装(推荐)

直接用XAMPP自带的pecl工具安装对应扩展:

/opt/lampp/bin/pecl install pdo_sqlsrv sqlsrv

安装过程中如果提示是否启用,直接回车确认即可。

方法二:手动安装扩展

如果pecl安装失败,可手动下载对应PHP版本的预编译扩展文件,将文件复制到XAMPP的PHP扩展目录(通常为/opt/lampp/lib/php/extensions/no-debug-non-zts-xxxxxx/,其中xxxxxx为PHP版本对应的目录名)。

4. 启用扩展并重启服务

  • 编辑XAMPP的php.ini文件:
sudo nano /opt/lampp/etc/php.ini
  • 在文件末尾添加两行:
extension=pdo_sqlsrv.so
extension=sqlsrv.so
  • 保存后重启XAMPP服务:
sudo /opt/lampp restart

5. 验证驱动是否生效

执行命令检查驱动是否成功加载:

/opt/lampp/bin/php -m | grep pdo_sqlsrv

如果输出pdo_sqlsrv,说明驱动安装成功。

额外检查项

  • 确认SQL Server服务器的1433端口对外开放,且允许远程连接;
  • 验证config/database.php中的账号、密码、数据库名称是否正确;
  • 确保SQL Server账号拥有目标数据库的访问权限。

内容的提问来源于stack exchange,提问作者Shankari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 04:10:28