【发布时间】:2015-07-10 14:08:25
【问题描述】:
我正在尝试使用 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 文件中: 扩展=\Installaties\php_pdo_sqlsrv_53_nts.dll
但我仍然收到错误消息?
【问题讨论】:
-
检查是否安装了 PDO 驱动程序。
phpinfo()会帮你解决这个问题。 -
你的host、db、user和pass都一样吗?
-
不,它们不一样。 @Andrew 当我查看 phpinfo() 时发现:PDO 支持启用了 PDO 驱动程序 mysql,sqlite 显然没有启用 mssql。我不是这方面的专家。那么我该如何启用呢?
-
您使用的是 PHP v5.3 吗?文件名中的
_53_表示它是特定于php5.3 的版本。如果您正在运行更高版本的 PHP,则还需要不同版本的驱动程序。 (顺便说一句,你应该运行更高版本的 php,因为 5.3 已经结束)