Php 使用pdo_sqlsrv连接到数据库

Php 使用pdo_sqlsrv连接到数据库,php,symfony,doctrine,symfony-3.2,symfony-3.3,Php,Symfony,Doctrine,Symfony 3.2,Symfony 3.3,我正在尝试连接到SQL Server 2000中的数据库,但出现错误 找不到驱动程序 当我使用pdo_sqlsrv时。 但是如果我使用sqlsrv,我会得到一个错误 试图从命名空间调用函数sqlsrv_configure 条令\DBAL\Driver\SQLSrv 这是我的config.yml doctrine: dbal: default_connection: default connections: default:

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

找不到驱动程序

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

试图从命名空间调用函数sqlsrv_configure 条令\DBAL\Driver\SQLSrv

这是我的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
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
有人知道我为什么会出现这些错误吗?

你能试试:

driver:        pdo_sqlsrv
database_port: 1433
不确定这是否有效,但试试看。

你能试试吗:

driver:        pdo_sqlsrv
database_port: 1433

不确定这是否有效,但请尝试。

如果找不到函数sqlsrv_configure,则未安装sqlsrv扩展。可以在Microsoft官方存储库中找到它

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

您可以通过在默认情况下转到Symfony/_profiler中的profiler并单击configuration菜单项下的View full PHP configuration链接来测试这一点。这将打开phpinfo屏幕。在那里查找sqlsrv或pdo_sqlsrv扩展

编辑

再看一遍,pdo_sqlsrv似乎会导致问题。条令建议使用sqlsrv

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


Emphasis not mine

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

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

您可以通过在默认情况下转到Symfony/_profiler中的profiler并单击configuration菜单项下的View full PHP configuration链接来测试这一点。这将打开phpinfo屏幕。在那里查找sqlsrv或pdo_sqlsrv扩展

编辑

再看一遍,pdo_sqlsrv似乎会导致问题。条令建议使用sqlsrv

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


Emphasis不是我的

Alvin Bunk谢谢但不起作用,我尝试了不同的连接方式只是为了检查参数是否正确并成功,我认为问题出在驾驶员身上,或者我不知道可能是什么。Alvin Bunk谢谢但不起作用,我尝试了不同的连接方式,只是为了检查参数是否正确并成功,我认为问题出在驱动程序中,或者我不知道可能是什么。