不能用laravel 5连接数据库


Can't connect to database with laravel 5

我试图连接到我的mssql数据库与laravel 5,但它不工作。我试过连接不同的mssql数据库,所以这不是防火墙问题。我的证件也是正确的。我在谷歌上发现,你需要SQL Server原生客户端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'),

但是当我试图创建一个表时,我收到错误:

connection .php第50行PDOException: could not find driver

怎么了??

编辑:

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

我把它添加到我的php.ini文件:扩展= ' 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. 检查是否输入了正确的连接参数。通过使用客户端工具连接到DB进行测试。
  2. 确保为机器配置了正确版本的sqlsrv。检查PHP日志以确保您的web服务器能够正确加载扩展。
  3. 在env文件
  4. 中设置端口为空

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