我正在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%"

我真的不知道要研究什么了.

解决方法:

在此代码中,您会注意到:


;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

标签:php,sql-server,symfony,iis
来源: https://codeday.me/bug/20191013/1910550.html


标签: none

添加新评论