gpt4 book ai didi

php - 为什么我应该在 pg_connect() 函数中使用 connect_timeout=5?

转载 作者:行者123 更新时间:2023-11-29 14:22:33 25 4
gpt4 key购买 nike

我最近收到一条评论,说我应该“在我的脚本中使用 connect_timeout”。我去搜索这实际上意味着什么,我在 php.net 上找到了这个信息。在用户评论中:

One thing is to remember, whenever trying to use pg_connect, add the timeout 
parameter with it

<?php
$d=pg_connect('host=example.com user=pgsql dbname=postgres connect_timeout=5');
?>

所以,同样的信息“你应该使用它”,但没有解释为什么?所以,我希望有人能为我澄清这一点?

此外,是否应该设置一些“默认”connect_timeout,如用户评论建议的5?由于某种原因 pg_connect 是一个错误的选择,我应该在每个 pg_connect 调用中添加此 connect_timeout,或者?

我在 pgsql documentation 中搜索据说只有这样:

connect_timeout
Maximum wait for connection, in seconds (write as a decimal integer string). Zero
or not specified means wait indefinitely. It is not recommended to use a timeout
of less than 2 seconds.

但我没有看到这方面的用例场景,坦率地说,我以前从未使用过它,所以无论如何,对此有一些见解将不胜感激。

最佳答案

对于一个网站来说,至少有两个原因需要设置连接超时,以防数据库连接挂掉:

  • 通过适当的错误消息和日志记录优雅地降级,而不是让用户等到无聊为止。

  • 不要让网络服务器累积进程并冒着达到其限制(例如 apache 的 maxclients)的风险,以至于它根本无法满足任何请求。通常我们希望任何 Web 请求尽快完成。

关于php - 为什么我应该在 pg_connect() 函数中使用 connect_timeout=5?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18703607/

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