问题描述
我打电话PHP脚本在AJAX做一些数据库维护。如果用户关闭网页,打回,或者点击一个链接时,将PHP脚本完全执行?有没有办法做到这一点?
I am calling a php script over ajax to do some database maintenance. If the user closes the page, hits back, or clicks a link, will the php script be fully executed? Is there a way to do it?
也许,如果PHP脚本称为 EXEC()
法或类似的东西,这将反过来通过控制台这样调用脚本:
Maybe if the php script called the exec()
method or something similar, which would in turn call a script via the console as such:
$ php /var/www/httpdocs/maintenance.php
推荐答案
只要用户代理(浏览器等)已经充分发送请求,服务器的所有需要,并会完成请求,并尝试发送回一个响应。
As long as the user agent (browser, etc.) has fully sent the request, the server has all it needs and will complete the request and try to send back a response.
其实,这样的ping命令的行为经常被用于心跳般的保持服务热情,或进行定期维护过程。
In fact, this sort of "pinging" behavior is often used for "heartbeat"-like processes that keep a service warm or perform periodic maintenance.
这篇关于如果用户退出浏览器或更改页面之前AJAX请求结束,会发生什么的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!