【发布时间】:2015-09-10 09:32:27
【问题描述】:
我有一个奇怪的问题困扰了我好几天:我正在使用 php websocket script 作为 Intranet 站点来提醒员工某些事情。这是一个便宜且相当容易实施的解决方案,而且效果很好。但是,我每天早上都必须重新启动服务器。
由于 php 代码在无限循环中运行,并且每个任务都按顺序而不是同时运行,我假设一个与数据库的持久连接就足够了,所以我只是在代码开头打开一个连接$GLOBALS 变量并一遍又一遍地重用它。它工作正常,直到第二天早上所有请求都将返回为假。连接仍然存在。诸如“->connect_error”和“->connect_stat()”之类的错误捕获器不会返回错误。
显然 MySQL 每晚午夜运行一次自我更新检查。我不确定这是导致问题的原因,但我希望不必禁用此功能。
我设法解决此问题的唯一方法是发送只能返回肯定响应的查询。如果不是,它会关闭并重新打开连接。这对我来说似乎并不聪明。必须有一种方法来检测连接何时变得不可靠。
我正在使用最新版本的 PHP 和 MySQL。
有什么想法吗?
【问题讨论】:
标签: php mysql phpwebsocket