Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Symfony2/Doctrine2无法使用IBM_DB2客户端连接到IBM DB2数据库_Php_Symfony_Db2_Doctrine Orm - Fatal编程技术网

Php Symfony2/Doctrine2无法使用IBM_DB2客户端连接到IBM DB2数据库

Php Symfony2/Doctrine2无法使用IBM_DB2客户端连接到IBM DB2数据库,php,symfony,db2,doctrine-orm,Php,Symfony,Db2,Doctrine Orm,我对Doctrine2有一个问题,看起来像是一个bug,但我在谷歌上找不到其他有同样问题的人。我希望这里的某个地方经历过这个问题,并且知道如何解决它 基本上,我正在尝试连接到DB2数据库。我更喜欢使用ibm_db2客户机,因为它应该比PDO_ibm或PDO_ODBC更好更快。我已经安装并测试了客户端。那里似乎一切正常。但当我使用条令时,我得到以下错误: Notice: Undefined index: protocol in ...[my folders].../vendor/doctrine-

我对Doctrine2有一个问题,看起来像是一个bug,但我在谷歌上找不到其他有同样问题的人。我希望这里的某个地方经历过这个问题,并且知道如何解决它

基本上,我正在尝试连接到DB2数据库。我更喜欢使用ibm_db2客户机,因为它应该比PDO_ibm或PDO_ODBC更好更快。我已经安装并测试了客户端。那里似乎一切正常。但当我使用条令时,我得到以下错误:

Notice: Undefined index: protocol in
...[my folders].../vendor/doctrine-dbal/lib/Doctrine/DBAL/Driver/
IBMDB2/DB2Driver.php line 54
因此,在该文件中,它正在查找$params['protocol'],它似乎没有默认值。因此,在config.yml中,我尝试了以下方法:

# Doctrine Configuration
doctrine:
    dbal:
        default_connection:   default
        driver:   %database_driver%
        host:     %database_host%
        port:     %database_port%
        dbname:   %database_name%
        user:     %database_user%
        password: %database_password%
        protocol: TCPIP
但当我这样做的时候,它抱怨说协议是一个未定义的配置选项,并且查看DependencyInjection内容时,它没有出现在任何地方


但是:如果我将TCPIP硬编码到发生错误的驱动程序文件中。。。一切正常。这是不可取的,因为它涉及更改供应商提供的文件。有人找到了在配置中正确指定协议的方法吗?

使用ibm_db2最终会遇到许可问题。PDO或ODBC将是您唯一的自由选择。IBM需要DB Connect来使用IBM_db2_Connect之类的东西。

最终,使用IBM_db2会遇到许可问题。PDO或ODBC将是您唯一的自由选择。IBM需要DB Connect来使用IBM_db2_Connect