可以连,但关键在于补全ODBC驱动、PHP扩展(sqlsrv/pdo_sqlsrv)和Laravel配置(.env与database.php),三者缺一不可,否则无法建立SQL Server连接。

可以连,但关键不在 Laragon 本身,而在于它底层的 PHP 环境是否具备 SQL Server 通信能力。Laragon 是 Windows 下的集成环境(含 Apache/Nginx、PHP、MySQL 等),默认不带 SQL Server 驱动,需手动补全三类组件:ODBC 驱动、PHP 扩展、Laravel 配置。
装 Microsoft ODBC Driver for SQL Server
这是底层通信桥梁,必须先装:
- 去官网下载 ODBC Driver 18 for SQL Server(推荐最新稳定版,支持 TLS 1.2+ 和 Azure)
- 运行
msodbcsql.msi安装(勾选“包含命令行工具”可选,方便后续调试) - 安装后无需重启,但建议验证:打开命令提示符,运行
odbcinst -j查路径,再运行odbcinst -j -d确认驱动列表里有ODBC Driver 18 for SQL Server
装 PHP 的 sqlsrv 和 pdo_sqlsrv 扩展
Laragon 的 PHP 是预编译版本,扩展需匹配架构(TS/NTS)和 PHP 主版本(如 8.2、8.3):
- 确认当前 Laragon 使用的 PHP 版本和线程模型:打开 Laragon 主界面 → “PHP” → 查看版本号;再用
php -i | findstr "Thread"看是否为Thread Safety => enabled(即 TS) - 下载对应版本的 Microsoft Drivers for PHP for SQL Server(如 PHP 8.2 TS → 选
php_sqlsrv_82_ts_x64.dll和php_pdo_sqlsrv_82_ts_x64.dll) - 把两个 DLL 文件复制到 Laragon 的 PHP 扩展目录(通常是
Laragon\bin\php\php-{version}\ext\) - 编辑该 PHP 版本下的
php.ini(Laragon 会自动加载),在末尾添加两行:
extension=php_sqlsrv_82_ts_x64.dll
extension=php_pdo_sqlsrv_82_ts_x64.dll - 重启 Laragon,访问
http://localhost/phpinfo.php,搜索sqlsrv,看到模块信息即成功
配 Laravel 的 .env 和 database.php
驱动就绪后,配置 Laravel 认得 SQL Server:
- 修改项目根目录下
.env:
DB_CONNECTION=sqlsrv
DB_HOST=your-sql-server-ip-or-domain
DB_PORT=1433
DB_DATABASE=your_db_name
DB_USERNAME=sa_or_user
DB_PASSWORD=your_password - 检查
config/database.php中'sqlsrv'连接块是否存在且完整(Laravel 9+ 默认已含);重点确认:
–'driver' => 'sqlsrv'
–'strict' => false(SQL Server 不支持 strict mode)
–'encrypt' => env('DB_ENCRYPT', 'yes')(若用自签名证书,可临时设为no避免 SSL 错误) - 运行
php artisan config:clear清缓存
测试连接是否通
最简验证方式(不依赖模型):
- 执行
php artisan tinker - 输入:
$pdo = DB::connection()->getPdo();
print_r($pdo);
不报错且输出 PDO 对象,说明底层链路已通 - 进阶验证:
DB::connection()->select("SELECT TOP 1 name FROM sys.databases");
能返回结果即完全可用











