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

Laravel 5.6无法连接SQLEXPRESS的问题求助

Laravel 5.6 连接 SQL Server Express 执行迁移时报错:目标机器主动拒绝连接

我正在尝试将 Laravel 5.6 连接至 SQL Server Express,但执行数据库迁移时遇到了如下错误:

SQLSTATE[08001]: [Microsoft][ODBC Driver 13 for SQL Server]TCP Provider: No connection could be made because the target machine actively refused it. (SQL: select * from sysobjects where type = 'U' and name = migrations)

我已经为 PHP 安装了 sqlsrv 扩展,并且通过以下测试脚本验证过连接是成功的:

<?php 
$serverName = "MYNAME\\SQLEXPRESS"; 
$connectionInfo = array( "Database"=>"Portal", "UID"=>"sa", "PWD"=>"mySecretPwd"); 
$conn = sqlsrv_connect( $serverName, $connectionInfo); 
if( $conn ) { 
    echo "Connection established.<br />"; 
}else{ 
    echo "Connection could not be established.<br />"; 
    die( print_r( sqlsrv_errors(), true)); 
} 
?>

测试结果显示连接正常,且 phpinfo() 中也能看到 sqlsrv 扩展已加载。

但配置 Laravel 后仍报错,我的相关配置如下:

.env 文件配置:

DB_CONNECTION=sqlsrv
DB_HOST=MYNAME\\SQLEXPRESS
DB_PORT=1433
DB_DATABASE=Portal
DB_USERNAME=sa
DB_PASSWORD=mySecredPwd

config/database.php 配置:

'default' => env('DB_CONNECTION', 'sqlsrv'),
'connections' => [
    // ...其他连接配置
    'sqlsrv' => [
        'driver' => 'sqlsrv',
        'host' => env('DB_HOST', 'MYNAME\\SQLEXPRESS'),
        'port' => env('DB_PORT', '1433'),
        'database' => env('DB_DATABASE', 'forge'),
        'username' => env('DB_USERNAME', 'forge'),
        'password' => env('DB_PASSWORD', ''),
        'charset' => 'utf8',
        'prefix' => '',
    ],
],

我的 SQL Server 配置管理器截图如下:
服务器配置管理器

另外,我可以通过 SQL Server Management Studio 2017 正常连接该数据库,有没有朋友能帮我排查下 Laravel 配置的问题?

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:42:16