【问题标题】:How do I connect Laravel 7 to Microsoft SQL Server?如何将 Laravel 7 连接到 Microsoft SQL Server?
【发布时间】:2020-11-07 07:52:10
【问题描述】:

我真的很惊讶 Laravel 文档仅限于解释如何连接到 MS SQL Server。我认为有两个区域需要配置——.env 文件和 database.php。与 Laravel 7 相比,网络上的大多数示例显示的格式不同。我想知道在哪里可以找到以下内容的正确信息。

  • 如何判断我的数据库在哪个端口上
  • 为 URL 输入的内容
  • 为 HOST 输入的内容
  • 在测试连接时显示“未找到驱动程序”- 是表示详细信息不正确还是在寻找丢失的文件?
  • 在更改 database.php 文件之前,它有单词 forge 作为 env() 函数的第二个参数 - 什么是 forge???

如果有人能指点我一个好的资源 id,请多多关照!

DB_CONNECTION=sqlsrv
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=test_db_1
DB_USERNAME=sa
DB_PASSWORD=mypassword
```

还有database.php...

    'default' => env('DB_CONNECTION', 'sqlsrv'), ...
...
 'sqlsrv' => [
            'driver' => 'sqlsrv',
            'url' => env('DATABASE_URL'),
            'host' => env('DB_HOST', 'localhost'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', 'test_db_1'),
            'username' => env('DB_USERNAME', 'sa'),
            'password' => env('DB_PASSWORD', 'mypassword'),
            'charset' => 'utf8',
            'prefix' => '',
            'prefix_indexes' => true,
        ],

【问题讨论】:

  • 我认为端口 3306 用于 MySQL。在运行 SQL Server 的计算机上,检查服务器协议配置中的 SQL Server 配置管理器,以查看 TCP/IP 设置为侦听的端口。默认实例通常为 1433。

标签: sql-server laravel laravel-7


【解决方案1】:

您的DB_HOST 将始终是本地主机,所以如果数据库在同一台机器上,127.0.0.1 就可以了。 TCP 端口 1433 通常是 SQL Server 默认实例使用的端口,将其设置为DB_PORT=1433

Laravel Forge 是一个用于部署和配置 Web 应用程序的工具,可用于自动部署任何使用 PHP 服务器的 Web 应用程序。由于我们使用 .env 覆盖 config/database.php 中的值,因此无需担心“伪造”值。最后,您可能需要在机器上安装drivers,以支持PHP和SQL Server。

.env

DB_CONNECTION=sqlsrv
DB_HOST=127.0.0.1
DB_PORT=1433
DB_DATABASE=test_db_1
DB_USERNAME=sa
DB_PASSWORD=mypassword

config/database.php

'sqlsrv' => [
    'driver' => 'sqlsrv',
    'url' => env('DATABASE_URL'),
    'host' => env('DB_HOST', 'localhost'),
    'port' => env('DB_PORT', '1433'),
    'database' => env('DB_DATABASE', 'forge'),
    'username' => env('DB_USERNAME', 'forge'),
    'password' => env('DB_PASSWORD', ''),
    'charset' => 'utf8',
    'prefix' => '',
    'prefix_indexes' => true,
]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-14
    • 2016-09-13
    • 1970-01-01
    • 1970-01-01
    • 2014-05-25
    • 1970-01-01
    相关资源
    最近更新 更多