gpt4 book ai didi

php - 为什么不能增加连接超时?

转载 作者:行者123 更新时间:2023-11-29 12:28:21 25 4
gpt4 key购买 nike

这是我的设置:

$DBH = new PDO(
"pgsql:host=$host;dbname=$dbname",
$username,
$password,
array(
PDO::ATTR_TIMEOUT => 60,
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
)
);

20s后超时。但是如果我设置PDO::ATTR_TIMEOUT => 5,它将在 5 秒后超时。

为什么不能增加连接超时?我使用 xampp 3.2.2,数据库 Postgresql 9.2我在本地测试,不存在反病毒。

最佳答案

PDO::ATTR_TIMEOUTdefault_socket_timeout INI 设置是您可以从 PHP 更改的唯一值,但 TCP 连接会受到很多因素的影响。

在客户端,防火墙或操作系统本身也可能应用超时限制。
在传输过程中,任何中间对等点(您的路由器、ISP)也可以根据各种规则断开连接。

但最重要的是(即在您的情况下更有可能),连接涉及两方,PostgreSQL 服务器也有自己的超时设置 - tcp_keepalives_idletcp_keepalives_intervaltcp_keepalives_countauthentication_timeout

引用:https://www.postgresql.org/docs/current/static/runtime-config-connection.html

无法猜测究竟是什么影响了您,您可能需要更改多个设置。尽可能检查以上各项。

关于php - 为什么不能增加连接超时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46599754/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com