Как передать дополнительные параметры подключения, такие как connect_timeout, keepalives и т.д. С помощью DBAL?
Должен ли он передаваться как driverOptions
или запрос на driverOptions
созданный для явной поддержки в Doctrine\DBAL\Driver\PDOPgSql\Driver
?
Я пробовал прохождение через driverOptions => ['connect_timeout' => 1]
, но не знаю, эффективны ли эти настройки. Когда я делаю это с простым pdo_connect
:
$connectionString = 'host=... connect_timeout=1 keepalives=1 keepalives_idle=2 keepalives_interval=1 keepalives_count=2'
$connection = pg_connect($connectionString);
Я знаю, что эти настройки, по крайней мере, применяются, потому что, если я пропущу любой из этих дополнительных параметров, возникает исключение:
$connectionString = 'host=... connection_timeout=1'
$connection = pg_connect($connectionString);
PHP Warning: pg_connect(): Unable to connect to PostgreSQL server: invalid connection option "connection_timeout" in /troubleshoot/psql.php on line 18
И это исключение - это способ проверки этого параметра.
Я не получаю такую ошибку, если я ошибаюсь в конфигурации, переданной DBAL.
По-видимому, на данный момент это не поддерживается. Все дополнительные опции должны быть явно добавлены в PDOPgSql/Driver.php.