如何从客户端终止 php 连接?

发布于 2024-11-06 02:08:56 字数 225 浏览 0 评论 0原文

我正在使用 jquery 和 php。

在客户端,用户可以关闭对话框,或者由于超时限制,它将停止 ajax 请求。

问题是mysql仍然继续处于“发送数据状态”的进程。 但是 php 进程不再可用,因为:

set_time_limit(20);

有没有办法终止 PHP::PDO 与 mysql 进程的连接?

谢谢阿曼。

I am using jquery with php.

On the client side the user can close the dialogbox or it will stop ajax request due to the time-out limit.

The problem is the mysql is still continue the process which is in the "sending data state".
But the php process no longer available because of:

set_time_limit(20);

Are there way to kill the PHP::PDO connection with mysql process?

Thanks Arman.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

故事灯 2024-11-13 02:08:56

听起来您正在使用持久数据库连接。有了这些,无论客户端是否实际连接,来自 mysql<->php 的连接都会保持活动状态。这允许查询继续运行并保留任何变量、锁、临时表等......以保持活动状态并搞砸工作。

禁用持久连接,当客户端断开连接并且 PHP 之后清理时,“卡住”的查询将会终止。

Sounds like you're using persistent database connections. With those, the connection from mysql<->php is kept alive regardless of whether a client is actually connected or not. This allows queries to keep running and keeps any variables, locks, temporary tables, etc... to stay alive and gum up the works.

Disable persistent connections, and your 'stuck' queries will die when the client disconnects and PHP cleans up afterwards.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文