ChatGPT 帮我快速 PHP 订阅 Redis 连接超时错误问题
我用 PHP 脚本写了一个订阅 redis 列表的命令,但我发现跑了没多久就连接失败退出了。
报错的提示是:read error on connection to 127.0.0.1:6379
。
试了两次发现时间差不多,估计是触发了 PHP 的某个默认配置。
好在现在有了 ChatGPT,不需要去慢慢查文档了。
问了一下 ChatGPT,给出的 4 个可能原因中,第三个非常 match:
如果在读取数据时连接突然中断,可能是由于连接超时、网络中断或 Redis 服务器故障引起的。在 PHP 中,可以使用 ini_set('default_socket_timeout', -1); 来设置无限制的超时时间,以确保连接不会因为超时而关闭。
在脚本之前加上 ini_set('default_socket_timeout', -1);
再跑,果然 work 了。
查了下 php.ini 的配置,默认的时间果然是 60 秒。
自从有了 ChatGPT,Google 变得没那么重要了。。。
如果用 Google,可能我还在翻 StackOverflow 或者 php.net 寻找问题的可能原因。
如果用 Bing,可能我还在关闭 CSDN 页面上的广告。
如果用百度,可能我又要被哪个卖课的骗进去了。
现在体会到 ChatGPT 发布后,Google 为啥那么着急了。。。