【问题标题】:Connection to a db with Doctrine pdo_sqlsrv使用 Doctrine pdo_sqlsrv 连接到数据库
【发布时间】:2017-07-19 16:48:00
【问题描述】:

我正在尝试连接到我在 SQL Server 2000 中的数据库,但出现错误

找不到驱动程序

当我使用 pdo_sqlsrv 时。 但是如果我使用 sqlsrv 我会得到一个错误

试图从命名空间调用函数“sqlsrv_configure” "Doctrine\DBAL\Driver\SQLSrv"。

这是我的 config.yml

config.yml

doctrine:
    dbal:
        default_connection: default
        connections:
            default:
                dbname: "%database_name%"
                user: "%database_user%"
                password: "%database_password%"
                host: "%database_host%"
                driver:   pdo_mysql
                charset:  utf8mb4
                default_table_options:
                    charset: utf8mb4
                    collate: utf8mb4_unicode_ci
            connection2:
                dbname: "%database_name2%"
                user: "%database_user2%"
                password: "%database_password2%"
                host: "%database_host2%"
                driver:  pdo_sqlsrv
                #driver:  sqlsrv  i've also tried this
                #charset:  utf8mb4
                default_table_options:
                    charset: utf8mb4
                    collate: utf8mb4_unicode_ci

有人知道我为什么会收到这些错误吗?

【问题讨论】:

    标签: php symfony doctrine symfony-3.2 symfony-3.3


    【解决方案1】:

    如果找不到函数 sqlsrv_configure,则没有安装 sqlsrv 扩展。它可以在微软官方存储库here 中找到。

    您可以通过在终端中运行命令php -m 来检查您是否已安装扩展程序。请注意,如果您在独立服务器上运行 Symfony(例如 MAMP、XAMP 或其他任何使用非 CLI 版本的 PHP),那么 CLI 和独立服务器使用的扩展可能会有所不同。

    您可以通过访问 Symfony 中的分析器(默认为 /_profiler)并单击 Configuration 菜单项下的“查看完整的 PHP 配置”链接来测试这一点。这将打开phpinfo() 屏幕。在此处查找 sqlsrvpdo_sqlsrv 扩展名。

    编辑

    再次查看Doctrine docs,似乎pdo_sqlsrv 引起了问题。 Doctrine 建议使用sqlsrv

    pdo_sqlsrv:使用pdo_sqlsrv PDO 的 Microsoft SQL Server 驱动程序请注意,此驱动程序在我们的测试中引起了问题。如果可能,首选 sqlsrv 驱动程序。

    (重点不是我的)

    【讨论】:

      【解决方案2】:

      你可以试试:

      driver:        pdo_sqlsrv
      database_port: 1433
      

      不确定这是否可行,但请尝试一下。

      【讨论】:

      • Alvin Bunk 谢谢你,但不起作用,我已经尝试以不同的方式连接只是为了检查参数是否正确并成功,我认为问题出在驱动程序中,或者我没有不知道会是什么。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      • 2015-02-19
      • 1970-01-01
      • 2016-10-30
      • 2011-11-10
      • 1970-01-01
      相关资源
      最近更新 更多