Как передать дополнительные параметры подключения, такие как connect_timeout, keepalives, так далее.. с DBAL?
Должен ли он быть принят как 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.
Других решений пока нет …