I have set driverOptions in the config file as mentioned in the doctrine DBAL documentation.
But this gives an error
1/1 InvalidConfigurationException: Unrecognized options "driverOptions" under "doctrine.dbal.connections.pdoDevCon"
My config file is
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: ~
I am using PDO::ATTR_ERRMODE as 3 PDO::ERRMODE_EXCEPTION as 2, it does not work even if i use the strings.
From http://symfony.com/doc/master/reference/configuration/doctrine.html#doctrine-dbal-configuration
DoctrineBundle supports all parameters that default Doctrine drivers accept, converted to the XML or YAML naming standards that Symfony enforces. See the Doctrine DBAL documentation for more information.
There is no driverOptions
in symfony yml configuration file, just options
I'm not using Symfony but I was using Doctrine\DBAL\DriverManager::getConnection()
.
I had to side step the DriverManager
and do this song and dance to specify a connection timeout (ATTR_TIMEOUT
):
function buildDbConn($config, $timeout) {
$params = $config->toArray();
$params['driverOptions'] = [
PDO::ATTR_TIMEOUT => intval($timeout),
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
];
$driver = new Doctrine\DBAL\Driver\PDOMySql\Driver;
return new Doctrine\DBAL\Connection($params, $driver);
}
I always need a pdo_mysql driver, this could be configurable.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With