首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP脚本在本地IP更改时挂起

问PHP脚本在本地IP更改时挂起
EN

Stack Overflow用户
提问于 2012-05-12 02:07:08
回答 2查看 270关注 0票数 0

我有一个连接到远程MySQL主机以执行一些查询的脚本。过了一段时间后,它挂起了,并显示一条消息'MySQL服务器已消失‘。我有一个动态IP,每天至少更改3次,我意识到它在IP更改时挂起。

因此,我修改了脚本以检测此错误,等待30 - 90秒并重新连接到服务器,但现在它在重新连接尝试时挂起。

这在linux和windows上都会发生。

这可能是什么原因呢?

编辑:我认为这是显而易见的,但变化的ip是运行脚本的本地IP,MySQL服务器在固定的IP上。本地pc连接到ADSL路由器,我猜是我的ISP强制重新连接(ip更改)。我知道在IP更改时,所有现有的连接都会丢失,包括。MySQL,但我说我正在IP更改时重新连接,但它无法重新连接!

EN

回答 2

Stack Overflow用户

发布于 2012-05-12 02:14:34

您如何获取新的IP地址?如果您正在使用DNS (包括动态DNS),我的猜测是您正在访问一个陈旧的DNS缓存。即使大多数动态DNS条目的TTL长于90秒(而且一些中间缓存服务器可能无论如何都会设置最小TTL )。

票数 1
EN

Stack Overflow用户

发布于 2012-05-13 00:10:35

这种行为的一个原因可能是持久的数据库连接。要弄清楚是不是这样,请重新启动Apache或IIS Web服务器,以防IP地址发生更改。如果在重启后一切正常,那么你就成功了。

Persistent database connections存储在后台,如果数据库连接的主机名和用户凭据匹配,则会重用。mysql库起到了很大的作用:mysql_pconnect用于持久连接,mysql_connect用于非持久连接。

此外,您还可以检查php.ini中的mysql.allow_persistent.设置

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10556442

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档