尝试将 Laravel Homestead 连接到 sqlsrv 数据库时出现错误的网关错误



我已经使用 Laravel v5 一段时间了,连接到一个宅基地/流浪虚拟机并集成到本地 MySQL 数据库中。 但是,我现在需要通过同一虚拟机远程连接到网络上的 MSSQL 数据库。

最初我在尝试使用sqlsrv连接时收到driver not found错误,但我通过安装php7.1-sybase包克服了错误。 我现在可以确认php -m表明pdo_dblib已安装并启用。

我已经在我的.env文件中设置了连接详细信息以使用第二个数据库连接:

DB_CONNECTION_SECOND=sqlsrv
DB_HOST_SECOND=<server>
DB_PORT_SECOND=1433
DB_DATABASE_SECOND=<database>
DB_USERNAME_SECOND=<username>
DB_PASSWORD_SECOND=<password>

我可以从虚拟机成功 ping 服务器。

在我的模型中,我指定了$connection$table参数:

/**
* The database name used by the model.
*
* @var string
*/
protected $connection = 'sqlsrv';
/**
* The database table used by the model.
*
* @var string
*/
protected $table = '<tablename>';

在我的控制器中,我只是尝试使用 where claus 返回单个记录:

/**
* Display a listing of the resource.
*
* @return IlluminateHttpResponse
*/
public function index()
{

$employees = Employee::where( 'LastName', '=', 'Bloggs' )->get();

return $employees;

}

但是,我尝试建立的任何连接都会导致502 Bad Gateway错误。我也尝试连接到网络上的不同数据库,但仍然收到相同的错误。

您似乎添加了新的 .env 变量。 确保在配置/数据库中使用这些*_SECOND变量.php

数据库中可能已经有一个部分.php例如env('DB_DATABASE', 'somedefaultvalue')将其更改为所有添加的变量的env('DB_DATABASE_SECOND', 'somedefaultvalue')

最新更新