繁体   English   中英

无法使用 Laravel 5 连接到数据库

[英]Can't connect to database with laravel 5

我正在尝试使用 laravel 5 连接到我的 mssql 数据库,但它不起作用。 我尝试连接不同的 mssql 数据库,所以这不是防火墙问题。 我的凭据也是正确的。 我在 google 上发现您需要 SQL Server Native Client 11.0 并且我已经安装了它。

这是我在 config/database.php 中的连接数组:

'sqlsrv' => [
            'driver'   => 'sqlsrv',
            'host'     => env('nvt'),
            'database' => env('nvt'),
            'username' => env('nvt'),
            'password' => env('nvt'),
            'charset'  => 'utf8',
            'prefix'   => '',
        ],

我已将默认值设置为 "sqlsrv" :

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

但是当我尝试创建表时,我收到错误:

Connector.php 第 50 行中的 PDOException:找不到驱动程序

可能有什么问题???

编辑:

我已经从这里为 sqlsrv 安装了 pdo: http : //msdn.microsoft.com/en-us/sqlserver/ff657782.aspx

我将它添加到我的 php.ini 文件中:extension=\\Installaties\\php_pdo_sqlsrv_53_nts.dll

但是我还是收到了错误?

尝试删除 eve() 方法,我的意思是使用以下方法

'sqlsrv' => [
        'driver'   => 'sqlsrv',
        'host'     => 'nvt',
        'database' => 'nvt',
        'username' => 'nvt',
        'password' => 'nvt',
        'charset'  => 'utf8',
        'prefix'   => '',
    ],

我遇到了类似的问题。 尝试直接输入服务器信息而不是使用 env。 如果它有效,那么您就知道 Laravel 在读取 .env 文件时遇到了问题。

我上次在 sqlsrv 中尝试连接时遇到了您的问题。 我正在使用 xampp。 尝试将 yung php_pdo_sqlsrv_53_nts.dll 放在 ext 文件夹中,将 extension=\\Installaties\\php_pdo_sqlsrv_53_nts.dll 替换为 extension=php_pdo_sqlsrv_53_nts.dll 并尝试在您的计算机上安装 odbc 11。 它对我有用,但不知道为什么。 (不是专家)如果帮助别人很好,如果没有,请原谅我的麻烦。 感谢您花时间阅读。

您可以尝试以下任何一种解决方案

  1. 检查您是否输入了正确的连接参数。 通过使用客户端工具连接到数据库进行测试。
  2. 确保为您的机器配置了正确版本的 sqlsrv。 检查 PHP 日志以确保您的 Web 服务器能够正确加载扩展。
  3. 在 env 文件中将端口设置为 null

作为提示,我不会建议任何人在 .env 之外的任何地方设置连接参数(在 config/database 中设置它是一种安全风险)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM