找不到驱动程序pdo_sqlsrv

时间:2016-01-28 22:08:41

标签: php sql-server iis symfony

我在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看,文件已加载:

enter image description here

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

enter image description here

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

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

我真的不知道该怎么看。

1 个答案:

答案 0 :(得分:3)

在此代码中您注意到:

;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
  • app / console doctrine:cache:clear-metadata
  • app / console doctrine:cache:clear-query
  • app / console doctrine:cache:clear-result
  • app / console cache:clear

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