无法通过laravel 5

时间:2015-07-10 14:08:26

标签: php laravel-5

我尝试使用laravel 5连接到我的mssql数据库,但它无法正常工作。我尝试连接不同的mssql数据库,因此它不是防火墙问题。我的证书也是正确的。我在谷歌上发现你需要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文件中: 延长= \ Installaties \ php_pdo_sqlsrv_53_nts.dll

但是我收到了错误吗?

4 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

我上次在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。它对我有用但不知道为什么。 (不是专家)如果能够帮助一个人做好事,如果没有,请为这个麻烦抱歉。感谢你抽出时间阅读。

答案 3 :(得分:0)

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

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

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