Sql server 如何将Laravel 7连接到Microsoft SQL Server?

Sql server 如何将Laravel 7连接到Microsoft SQL Server?,sql-server,laravel,laravel-7,Sql Server,Laravel,Laravel 7,我真的很惊讶Laravel文档在解释如何连接到MS SQL Server方面受到限制。我认为有两个方面需要配置,.env文件和database.php。与Laravel7相比,web上的大多数示例显示的格式并不相同。我想知道我在哪里可以找到以下正确的信息 如何判断我的数据库所在的端口 为URL输入什么 为主机输入什么 测试连接时,它会显示“未找到驱动程序”-它是说详细信息不正确,还是在查找丢失的文件 在更改database.php文件之前,它将单词forge作为env()函数的第二个参数-什么

我真的很惊讶Laravel文档在解释如何连接到MS SQL Server方面受到限制。我认为有两个方面需要配置,.env文件和database.php。与Laravel7相比,web上的大多数示例显示的格式并不相同。我想知道我在哪里可以找到以下正确的信息

  • 如何判断我的数据库所在的端口
  • 为URL输入什么
  • 为主机输入什么
  • 测试连接时,它会显示“未找到驱动程序”-它是说详细信息不正确,还是在查找丢失的文件
  • 在更改database.php文件之前,它将单词forge作为env()函数的第二个参数-什么是forge
如果有人能告诉我一个好的资源,我会欠你的

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,
        ],

您的
DB\u主机
将始终是本地主机,因此如果数据库位于同一台计算机上,
127.0.0.1
就可以了。TCP端口1433通常是SQL Server默认实例使用的端口,请将其设置为
DB_port=1433

Laravel Forge是一种用于部署和配置web应用程序的工具,可用于自动部署任何使用PHP服务器的web应用程序。因为我们使用.env覆盖config/database.php中的值,所以不必担心“forge”值。最后,您可能需要在计算机上安装以支持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,
]

您的
DB\u主机
将始终是本地主机,因此如果数据库位于同一台计算机上,
127.0.0.1
就可以了。TCP端口1433通常是SQL Server默认实例使用的端口,请将其设置为
DB_port=1433

Laravel Forge是一种用于部署和配置web应用程序的工具,可用于自动部署任何使用PHP服务器的web应用程序。因为我们使用.env覆盖config/database.php中的值,所以不必担心“forge”值。最后,您可能需要在计算机上安装以支持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,
]

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