我已经在配置文件中设置了 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