首页 > 解决方案 > Laravel 5.7 无法连接到 Windows 上的 SQLSRV 数据库(找不到驱动程序)

问题描述

我的环境文件

DB_CONNECTION=sqlsrv
DB_HOST=DESKTOP-ATB1EFG
DB_DATABASE=frontdesk
DB_USERNAME=sa
DB_PASSWORD=something_secret123
DB_PORT=1433

我已经使用原始 php 进行了如下测试,它已成功连接并返回“已连接”字符串。

serverName = "DESKTOP-ATB1EFG";
    $connectionOptions = array(
        "Database" => "frontdesk",
        "Uid" => "sa",
        "PWD" => "something_secret123"
    );
    //Establishes the connection
    $conn = sqlsrv_connect($serverName, $connectionOptions);
    if($conn){
        echo "Connected!";

    }else{
        echo "Failed";
    }

但是,当我尝试使用php artisan migrate进行迁移时,它返回 QueryExeption

找不到驱动程序(SQL:select * from sysobjects where type = 'U' and name = migrations)

异常跟踪:

1 PDOException::(“找不到驱动程序”)

C:\wamp64\www\frontdesk.sys\vendor\laravel\framework\src\Illuminate\Database\Connectors\Connector.php:70

2
PDO::__construct("dblib:host=DESKTOP-ATB1EFG:1433;dbname=frontdesk;charset=utf8", "sa", "something_secret123", []) C:\wamp64\www\frontdesk.sys\vendor\ laravel\framework\src\Illuminate\Database\Connectors\Connector.php:70

我已经检查了 php 7.2.10,它已经启用了扩展

extension=php_sqlsrv_72_nts_x64.dll
extension=php_pdo_sqlsrv_72_nts_x64.dll
extension=php_sqlsrv_72_ts_x64.dll
extension=php_pdo_sqlsrv_72_ts_x64.dll

php.ini 扩展

标签: phpsql-serverdatabaselaravel

解决方案


我通过添加扩展解决了这个问题:

extension=php_pdo_sqlsrv_71_ts_x64.dll
extension=php_sqlsrv_71_ts_x64.dll

php7.1.22文件夹和apache文件夹php.ini中。php.ini

谢谢。


推荐阅读