正确的方法来设置Symfony2中的Deobtrine DBAL配置的驱动程序2



我已经在配置文件中设置了 driveroptions ,如学说dbal文档中所述。

但这给出了一个错误

1/1无效ConfigurationException:未识别的选项"驱动程序"

我的配置文件是

dbal:
  default_connection: pdoDevCon
  connections:
    pdoDevCon:
      driver:   %dev_database_driver%    # <
      host:     %dev_database_host%      # |
      port:     %dev_database_port%      # | Defined in
      user:     %dev_database_user%      # |
      password: %dev_database_password%  # <   
      charset:  UTF8
      driverOptions: {3: 2}
      mapping_types:
        enum: string
        set: string
orm:
    auto_generate_proxy_classes: %kernel.debug%
     pdoDevCon:
        connection: pdoDevCon
        mappings:
          AcmeDemoBundle: ~
          AcmeHelloBundle: ~ 

我正在使用 pdo :: attr_errmode作为3 pdo :: errmode_exception作为2 ,即使我使用字符串也不起作用。

来自http://symfony.com/doc/master/reference/configuration/doctrine.html#doctrine-dabtrine-dbal-configuration

DoctrineBundle支持默认学说驱动程序的所有参数 接受,转换为Symfony的XML或YAML命名标准 执行。有关更多信息,请参见Doctrine dbal文档。

Symfony YML配置文件中没有driverOptions,只有options

我不使用Symfony,但我正在使用DoctrineDBALDriverManager::getConnection()

我必须侧面踩DriverManager并进行此歌曲和跳舞以指定连接超时(ATTR_TIMEOUT):

function buildDbConn($config, $timeout) {
    $params = $config->toArray();
    $params['driverOptions'] = [
        PDO::ATTR_TIMEOUT => intval($timeout),
        PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
    ];
    $driver = new DoctrineDBALDriverPDOMySqlDriver;
    return new DoctrineDBALConnection($params, $driver);
}

我总是需要一个PDO_MYSQL驱动程序,这可以配置。

您可以从YML设置此选项。事实是您nezd使用const值:

选项参数将被复制为驱动程序选项不用担心

int是2

选项 2:10

为我工作。Symfony 3.4和4.2

相关内容

  • 没有找到相关文章

最新更新