首页 > 解决方案 > Laravel - InvalidArgumentException 数据库连接 [sqlsrv] 未配置

问题描述

我为我的 Laravel 项目安装、配置和测试了 SQL Server 驱动程序。但是当我尝试迁移数据库时,出现错误:InvalidArgumentException Database connection [sqlsrv] not configured。

我在 config/database.php 中将 SQL Server Driver 设置为默认驱动程序

'default' => env('DB_CONNECTION', 'sqlsrv '), 

下面是我的环境变量配置(.env)

APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:5Tu6X1HbeSYKPH7vMwd879mf5ka/c2IrtSTporSrFXc=
APP_DEBUG=true
APP_URL=http://localhost

LOG_CHANNEL=stack
LOG_LEVEL=debug

DB_CONNECTION=sqlsrv
DB_HOST=DESKTOP-B07NJ22\SQLEXPRESS
DB_PORT=1433
DB_DATABASE=StudentAPI
DB_USERNAME=sa
DB_PASSWORD=root

下面是我的数据库连接配置(config/database.php)

'sqlsrv ' => [
        'driver' => 'sqlsrv ',
        'url' => env('DATABASE_URL'),
        'host' => env('DB_HOST', 'DESKTOP-B07NJ22\SQLEXPRESS'),
        'port' => env('DB_PORT', '1433'),
        'database' => env('DB_DATABASE', 'StudentAPI'),
        'username' => env('DB_USERNAME', 'sa'),
        'password' => env('DB_PASSWORD', 'root'),
        'charset' => 'utf8',
        'prefix' => '',
        'prefix_indexes' => true,
        'collation' => 'utf8_unicode_ci',
        'strict' => false,
        'engine' => null,
    ],

在 SQL Server 配置管理器中,TCP/IP 已启用并启动。在 TCP/IP 属性中,所有动态端口均为空白,并且 IPAll TCP 端口设置为 1433。

我在 php.ini 文件中设置 SQL Server 扩展,如下所示:

extension=php_sqlsrv_80_ts_x64.dll
extension=php_pdo_sqlsrv_80_ts_x64.dll

可以超越这些配置吗?

标签: phpsql-serverlaravel-8sqlsrv

解决方案


推荐阅读