php - Laravel Microsoft Sql Server 连接错误

标签 php sql-server laravel laravel-5 sqlsrv

我收到以下错误,我不知道为什么:

Illuminate \ Database \ QueryException (08001) SQLSTATE[08001]: [Microsoft][ODBC Driver 13 for SQL Server]TCP Provider: No connection could be made because the target machine actively refused it.



.env 包含
DB_CONNECTION=sqlsrv
DB_HOST=server\name
DB_PORT=1433
DB_DATABASE=mydatabasename
DB_USERNAME=dbusername
DB_PASSWORD=dbuserpassword

数据库.php
'default' => env('DB_CONNECTION', 'sqlsrv'), 
    'connections' => [ 
    'sqlsrv' => [
            'driver' => 'sqlsrv',
            'host' => env('DB_HOST', 'server\name'),
            'port' => env('DB_PORT', '1433'),
            'database' => env('DB_DATABASE', 'mydatabasename'),
            'username' => env('DB_USERNAME', 'dbusername'),
            'password' => env('DB_PASSWORD', 'dbuserpassword'),
            'charset' => 'utf8',
            'prefix' => '',
            'pooling' => false,
        ],

    ],

该错误在 UserController.php 中的 submitLogin 函数中的这一行抛出:
if (Auth::attempt(['user_name'=>$request['user_name'], 'password'=>$request['password']])) {
            return redirect()->route('dashboard');
        }

并且用户模型定义了以下字段:
public $timestamps = false;
protected $table = 'USERS';
protected $primaryKey = 'USER_ID';

还:
我使用的是 php 7.0.23,wamp64bit 3.1.0
带扩展名:
extension=php_sqlsrv_7_ts_x86.dll
extension=php_sqlsrv_7_ts_x64.dll

extension=php_sqlsrv_7_nts_x86.dll
extension=php_sqlsrv_7_nts_x64.dll

extension=php_pdo_sqlsrv_7_ts_x86.dll
extension=php_pdo_sqlsrv_7_ts_x64.dll

extension=php_pdo_sqlsrv_7_nts_x86.dll
extension=php_pdo_sqlsrv_7_nts_x64.dll

启用
enter image description here

我还应该注意到该数据库是预先存在的。

我可以做什么、更改或修复什么才能无错误地建立与服务器的连接?

最佳答案

在 Laravel 中使用 SQLServer 作为数据库服务器时,我发现配置应该如下:

1- 如果服务器配置了默认实例,如 (server01\SQL01) 那么我们应该将 DB_PORT 设置为 null 或空字符串 ('')

DB_GRH_HOSTNAME=127.0.0.1\SQLExpress01
DB_GRH_PORTNUMB=null

2-如果服务器配置没有默认实例并且应该使用TCP/IP端口,那么我们应该将DB_PORT设置为服务器上配置的tcp/ip端口
DB_HOST=127.0.0.1
DB_PORT=1433

希望能帮助某人

关于php - Laravel Microsoft Sql Server 连接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47836638/

相关文章:

javascript - 使用 AJAX 将图像从 Canvas 上传到 PHP 服务器

php - 如何每隔几秒查询一次数据库?

PHP 7.0/Yii 1/MS SQL Server 2008 : PHP is unable to find the driver

sql-server - 为什么 VALUES(CONVERT(XML ,'...' )) 比 VALUES(@xml) 慢得多?

php - 选择 WHERE LIKE 'ã'(外来字符)的行会返回所有行吗?

laravel - Webpack 已使用与使用 Vue Js 的 Laravel 7 中的 API 模式不匹配的配置对象进行初始化

php - 检查字符串是否包含 PHP 中不允许的 SQL 命令

sql-server - 具有事件副本的 Azure SQL 数据库副本

Angular 部署 - 类型 {production : boolean} 上不存在 apiUrl

php - echo 显示$内容