Php 可以保持MYSQL会话打开吗?

Php 可以保持MYSQL会话打开吗?,php,mysql,sql,Php,Mysql,Sql,是否可以在PHP程序迭代之间保持SQL连接/会话“打开”,这样程序就不必继续重新登录 我已经编写了一个PHP程序,它不断(合法地/尊重地)在web上轮询统计天气数据,然后将其转储到本地MYSQL数据库中进行分析。我不想通过本地数据库浏览器查看数据,而是想让它作为一个由外部网络主机托管的在线网页提供 我不确定实现这一点的最佳方法,我将本地MYSQL数据库导出到我的web主机的服务器上,认为由于PHP程序需要不断循环(并且比默认运行时长,HTML也不断刷新其页面),因此最好保持“引擎”在我的本地计算

是否可以在PHP程序迭代之间保持SQL连接/会话“打开”,这样程序就不必继续重新登录

我已经编写了一个PHP程序,它不断(合法地/尊重地)在web上轮询统计天气数据,然后将其转储到本地MYSQL数据库中进行分析。我不想通过本地数据库浏览器查看数据,而是想让它作为一个由外部网络主机托管的在线网页提供

我不确定实现这一点的最佳方法,我将本地MYSQL数据库导出到我的web主机的服务器上,认为由于PHP程序需要不断循环(并且比默认运行时长,HTML也不断刷新其页面),因此最好保持“引擎”在我的本地计算机上,我可以让页面在浏览器中不断循环,然后让它连接到我的web服务器上的数据库,并将数据转储到那里

它工作了几个小时。但是,正如我担心的那样,我失去了对cPanel登录名/主机的访问。此后,我通过自己的测试确认,我的IP已被阻止(托管公司目前已关闭),这无疑是因为PHP程序每10分钟重新连接一次在线SQL数据库。我不认为这种行为和连接之间的时间长度足以保证IP被列入黑名单,但唉,的确如此

现在,除了有可能在托管公司将我的IP列入白名单之外,还有没有办法让MYSQL会话/连接保持活动状态,这样程序就不必在迭代之间重新登录

我想,只有在手动调整最大运行时限制(我不知道是否还有其他外部限制,可能是浏览器限制)之后,才能让PHP程序无限期运行。我不确定这是否可行,或者是否可行

MYSQL连接是否存在某种类型的低级系统范围“cookie”?随着PHP程序完成并关闭(然后等待HTML刷新页面),我认为不必再次登录的唯一方法是使用某种类型的cookie或IP地址访问(这需要服务器端功能/实现)

我承认我的方法可能不是实现这一目标的最有效的方法。因此,我也愿意接受其他方法和建议,这些方法和建议将实现相同的最终结果——一个连续的web刮取循环,将数据转储到数据库中,然后让数据库不断转储到网页中


(我正在寻找一种方法来实现这一点,而不是要求我的网络主机提供IP白名单,或者仅仅确定他们的防火墙的访问禁止率。如果真的没有可行或更好的方法,我会这样做。)

也许你可以尝试持久数据库连接


此链接解释了持久连接:

您连接到远程API以获取天气数据?您关于IP被阻止原因的理论是基于您正确猜测托管公司的响应。我愿意,这是因为你因为一个你没有考虑过的原因而违反了服务条款。我还建议,你提出的任何绕过你打破的任何规则的方法都会产生相同的结果。为什么你要在本地做任何事情,而不是在托管服务器帐户上做所有事情?整个方法听起来都是错误的。放松,彼得,放松。首先,我还不知道到底发生了什么(截至今天,我的托管公司也不知道为什么,不得不扩大调查范围)。第二,我不是建议“绕开”规则。相反,我在问我怎样才能遵守一条规则(假设我违反了一条规则)。如果规则是“>一小时内10个连接导致黑名单”,那么我为什么不想遵守规则,让程序通过一个可持续的连接完成工作?“你的下意识的恶意标签是不必要的,也没有根据的。@Dagon,因为我不能改变主机的PHP配置。但正如我在问题中提到的,我可以用我的,这是我需要的,以使该计划发挥作用。再说一次,我不是PHP或MYSQL的专家,因此,对于可能过于复杂的实现,我愿意接受其他建议。如果“听起来不对”,无论如何,我会洗耳恭听任何建议。啊哈!这和我要找的一模一样。谢谢99%的时候这是个坏主意。为什么?如果不是,1%是多少?