【问题标题】:Cannot find driver pdo_sqlsrv找不到驱动程序 pdo_sqlsrv
【发布时间】:2016-01-28 22:08:40
【问题描述】:

我在 Windows 7 上使用 Symfony 3.0、PHP 5.6.17、IIS 7.5 和 SQL Server 数据库 (MSSQL)。

像很多人一样,我目前遇到了 pdo_exception:

  [Doctrine\DBAL\Exception\DriverException]
  An exception occured in driver: could not find driver



  [Doctrine\DBAL\Driver\PDOException]
  could not find driver



  [PDOException]
  could not find driver

但是,我不知道如何跟踪错误。这是我所拥有的:

PHP.ini 两个 dll 正确命名并位于 ext 文件夹中

;extension=php_sqlsrv_56_nts.dll
extension=php_pdo_sqlsrv_56_nts.dll

我尝试激活和停用php_sqlsrv_56_nts.dll,没有任何区别。

从 phpinfo 看来,文件已加载:

另外,做php -i我可以看到它也在命令行中启用:

最后,这是我在 Symfony 的配置文件中的内容:

doctrine:
    dbal:
        driver:   pdo_sqlsrv
        host:     "%database_host%"
        port:     "%database_port%"
        dbname:   "%database_name%"
        user:     "%database_user%"
        password: "%database_password%"

我真的不知道该看什么了。

【问题讨论】:

    标签: php sql-server iis symfony


    【解决方案1】:

    在这段代码中你注意到了:

    ;extension=php_sqlsrv_56_nts.dll
    extension=php_pdo_sqlsrv_56_nts.dll
    

    你必须把第一行注释掉:

    extension=php_sqlsrv_56_nts.dll
    extension=php_pdo_sqlsrv_56_nts.dll
    

    还有:

    • 重启 IIS
    • 应用程序/控制台原则:缓存:清除元数据
    • 应用程序/控制台原则:缓存:清除查询
    • 应用程序/控制台原则:缓存:清除结果
    • 应用/控制台缓存:清除

    也许您也可以阅读:Topic StackOverflow for Doctrine MSSQL

    【讨论】:

    • 做到了!非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2016-10-30
    • 2019-07-17
    • 2016-07-14
    • 2016-08-05
    • 2016-09-03
    • 2022-01-23
    • 2012-02-09
    相关资源
    最近更新 更多