Ajax 长轮询不会在中止时停止我的 PHP 脚本

问题描述

开始我的 JS 和 PHP 代码

JS:

jQuery.ajax({
        type: "POST",url: long.PHP,dataType: 'json',cache: false,timeout: 10000,success: function(resp) {
            //do something...
            observeChanges();
        },error: function() {
            observeChanges();
        }
    });

PHP

    session_write_close();
    ignore_user_abort(false);
    set_time_limit(60);

    header("Cache-Control: no-cache,must-revalidate");

    while (true) {
        if ( connection_aborted() || connection_status() != CONNECTION_norMAL ) { break; };

        //do something... - check if file data is change - if change then return and break - whatever

        sleep(1);

        echo 'whatever';
        wp_cache_flush();
        ob_flush();
        flush();
    }

我的问题是,当 JS 停止/中止/超时 ajax 请求并在 PHP 中打开新的然后以前的脚本时,没有停止(为了测试,我专门为 js 和 PHP 提供了不同的超时)并且仍在工作,并且一些此操作会杀死我的服务器因为我有很多而不是一个 PHP 操作。

我尝试使用 ignore_user_abort(true); - 但不工作。请帮忙 - 我做错了什么?我忘记了什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)