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

Laravel项目连接SQL Server提示需ODBC驱动问题排查求助

解决SQLSTATE[IMSSP]驱动依赖问题

1. 验证PHP扩展是否正确加载

  • 新建phpinfo.php文件,内容:<?php phpinfo(); ?>
  • 访问该文件,搜索sqlsrv和pdo_sqlsrv,确认两个扩展都已显示(未找到则说明扩展未正确加载)
  • 检查XAMPP的php.ini文件,确保添加以下两行(路径需匹配你的扩展文件位置):
    extension=php_sqlsrv_82_ts.dll
    extension=php_pdo_sqlsrv_82_ts.dll
    
    注意:必须选择**线程安全(TS)**版本的扩展,XAMPP默认是线程安全的PHP环境

2. 确认ODBC驱动版本匹配

  • 打开64位ODBC数据源管理器,在「驱动」标签下查看是否存在ODBC Driver 17或18 for SQL Server(必须是64位版本,与XAMPP的PHP架构一致)
  • 确保ODBC驱动版本与PHP扩展兼容:PHP 8.2需搭配ODBC Driver 17.8+或18.x版本

3. 检查Laravel数据库配置

  • 打开config/database.php,确认SQL Server连接配置正确:
    'sqlsrv' => [
        'driver' => 'sqlsrv',
        'host' => env('DB_SQLSRV_HOST', 'localhost'),
        'port' => env('DB_SQLSRV_PORT', '1433'),
        'database' => env('DB_SQLSRV_DATABASE', ''),
        'username' => env('DB_SQLSRV_USERNAME', ''),
        'password' => env('DB_SQLSRV_PASSWORD', ''),
        'charset' => 'utf8',
        'prefix' => '',
        'prefix_indexes' => true,
    ],
    
  • 核对.env文件中对应的SQL Server环境变量,确保无拼写错误

4. 重启服务并验证

  • 完全重启XAMPP的Apache服务(停止后再启动,不要仅刷新)
  • 运行Laravel数据库测试命令(替换sqlsrv为你的实际连接名称):
    php artisan db:connect --database=sqlsrv
    
    查看是否能成功建立连接

5. 排查架构不匹配问题

  • 确认XAMPP、ODBC驱动、PHP扩展三者均为64位版本(禁止混合32/64位架构)
  • 若之前安装过32位驱动,需彻底卸载后重新安装64位版本

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 05:07:33