在Doctrine(对于MySQL)中是否可以设置连接超时?
我想将我的连接超时设置为5秒钟。
在Doctrine(对于MySQL)中是否可以设置连接超时?
我想将我的连接超时设置为5秒钟。
根据您的 Symfony 标签,在 services.yaml 配置中为 doctrine dbal 指定驱动程序选项以设置连接超时。
如果您使用 mysqli 扩展:
doctrine:
dbal:
...
options:
0: 5 // '0' is the value of 'MYSQLI_OPT_CONNECT_TIMEOUT'
对于基于PDO的驱动程序:
doctrine:
dbal:
...
options:
2: 5 // '2' is the value of 'PDO::ATTR_TIMEOUT'
References:
PDO::ATTR_TIMEOUT
,初始连接都会超时 30 秒。doctrine:
dbal:
...
options:
LoginTimeout: 5
$dsn
的 $dnsOptions
数组中,在 PDOSqlsrv/Driver::_constructPdoDsn()
中使用,因此设置原始的 PDO 枚举值(例如链接答案中的2=5
)可能不是您想要做的事情。