我正在使用php和mysql以及AJAX开发一个Web应用程序。在我的一个脚本中有一个从mysql表中获取数据的规定。但是,如果我想在执行过程中取消执行我正在调用的PHP脚本来获取数据呢?让我更清楚一点。就像说由于循环繁重而需要30分钟才能完成一个AJAX调用,我想在完成之前通过单击某个按钮退出该调用。我怎样才能实现这一目标。否则,我的脚本运行良好,除非它挂起,如果我不想等待最终的AJAX响应文本并尝试切换到Web应用程序的其他页面。
答案 0 :(得分:0)
您可以像这样创建脚本:
$someStorage->set($sessionId . '_someFuncStop', true);
当按下STOP按钮时,通过AJAX调用它。
在带循环的脚本中检查存储中的var
while(1) {
if ($someStorage->get($sessionId . '_someFuncStop') === true ) break;
}
答案 1 :(得分:0)
据我所知,PHP不支持某种可以通过外部原因中断运行脚本的事件监听器。
您可能需要考虑两条路径(如果您不想在服务器上编写可以终止执行脚本的系统进程的shell脚本):