【发布时间】:2018-12-17 23:44:50
【问题描述】:
我刚刚通过 Composer 全新安装了 Laravel,并将 Config/database.php 更改为
'default' => 'sqlsrv',
并更改了连接的设置
'sqlsrv' => [
'driver' => 'sqlsrv',
'host' => env('DB_HOST', 'Host IP'),
'database' => env('DB_DATABASE', 'WebServices'),
'username' => env('DB_USERNAME', 'User'),
'password' => env('DB_PASSWORD', 'Password'),
'prefix' => '',
],
但我在尝试连接时收到此错误。
1/1
PDOException in Connector.php line 47:
SQLSTATE[08001]: [Microsoft][ODBC Driver 11 for SQL Server]Named Pipes Provider: Could not open a connection to SQL Server [2].
in Connector.php line 47
at PDO->__construct('sqlsrv:Server=localhost;Database=homestead', 'homestead', 'secret', array('0', '2', '0', false)) in Connector.php
line 47 at Connector >createConnection('sqlsrv:Server=localhost;Database=homestead', array('driver' => 'sqlsrv', 'host' => 'localhost', 'database' => 'homestead', 'username' => 'homestead', 'password' => 'secret', 'prefix' => '', 'name' => 'sqlsrv'), array('0', '2', '0', false)) in SqlServerConnector.php
line 29 at SqlServerConnector->connect(array('driver' => 'sqlsrv', 'host' => 'localhost', 'database' => 'homestead', 'username' => 'homestead', 'password' => 'secret', 'prefix' => '', 'name' => 'sqlsrv')) in compiled.php
line 10673 at ConnectionFactory->createSingleConnection(array('driver' => 'sqlsrv', 'host' => 'localhost', 'database' => 'homestead', 'username' => 'homestead', 'password' => 'secret', 'prefix' => '', 'name' => 'sqlsrv')) in compiled.php
line 10669 at ConnectionFactory->make(array('driver' => 'sqlsrv', 'host' => 'localhost', 'database' => 'homestead', 'username' => 'homestead', 'password' => 'secret', 'prefix' => ''), 'sqlsrv') in compiled.php line 10587
我不知道它为什么这样做
【问题讨论】:
-
SQL-Server 是否启动并运行?是否有一个名为
homestead的数据库,用户名homestead和密码secret在localhost上? -
.env 文件做到了,我不知道那个我只是假设它是 Config/Database.php
-
哦,好的 :) 在配置文件中,使用
env()函数获取可以在.env文件中定义的环境变量。如果没有设置变量,你可以传递一个默认值作为第二个参数。