gpt4 book ai didi

php - 有没有办法保存 MySQL 连接供以后使用?

转载 作者:行者123 更新时间:2023-11-29 02:42:58 27 4
gpt4 key购买 nike

所以,我的情况是这样的。我需要使用 PHP 脚本和 AJAX 调用将大型 mysql 转储导入数据库。

我写了一个递归的 AJAX 函数,它与 PHP 脚本通信并来回发送所有必要的数据(比如指针在 .sql 文件中的位置)以从 .sql 文件中剪切下一个 block 并运行它直到脚本到达文件末尾。

我遇到的问题是,一些 mysql 转储让我们说在文件开头定义的变量,并在文件的后面使用它们。如果这两段代码不在同一个 block 中,我会得到一个 SQL 错误,因为使用的变量没有定义。

所以一般来说,我想知道是否有一种方法可以存储 session 的连接/状态,以便稍后恢复它并能够使用 session 变量。

谢谢!

最佳答案

仅当您使 PHP 脚本持久化时。在一般的 HTTP 设置中,每次调用 PHP 都会创建一个新的 PHP 实例,该实例会在请求结束时被拆除。这必然会结束该 MySQL session 以及您在该请求期间创建的任何临时数据。

您可以用 PHP 编写一个持久性工作程序,它无限期运行并响应来自某种消息总线的请求,比如 Gearman , ØMQCrossbar .所以一个请求会是这样的:

browser ⇄ web server ⇄ ephemeral PHP instance ⇄ Gearman ⇄ persistent PHP worker

在那个坚持不懈的 worker 中,你可以坚持任何你想要的。这显然需要一些特殊的服务器设置,并且在通用共享主机等上是不可能的。

关于php - 有没有办法保存 MySQL 连接供以后使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47573431/

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