如何从客户端终止 php 连接?
我正在使用 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
听起来您正在使用持久数据库连接。有了这些,无论客户端是否实际连接,来自 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.