zoukankan      html  css  js  c++  java
  • PHP和Ajax设置页面请求超时

    AJAX设置页面请求超时

    timeout

    var ajaxTimeoutTest = $.ajax({
      url:'',  //请求的URL
      timeout : 1000, //超时时间设置,单位毫秒
      type : 'get',  //请求方式,get或post
      data :{},  //请求所传参数,json格式
      dataType:'json',//返回的数据格式
      success:function(data){ //请求成功的回调函数
        alert("成功");
      },
      complete : function(XMLHttpRequest,status){ //请求完成后最终执行参数
        if(status=='timeout'){//超时,status还有success,error等值的情况
           ajaxTimeoutTest.abort();
           alert("超时");
        }
      }
    });
    
    //设置timeout的时间,通过检测complete时status的值判断请求是否超时,如果超时执行响应的操作。

    PHP设置页面请求超时

    set_time_limit

    (PHP 4, PHP 5, PHP 7)

    set_time_limit — 设置脚本最大执行时间

    说明

    bool set_time_limit ( int $seconds )

    设置允许脚本运行的时间,单位为秒。如果超过了此设置,脚本返回一个致命的错误。默认值为30秒,或者是在php.inimax_execution_time被定义的值,如果此值存在。

    当此函数被调用时,set_time_limit()会从零开始重新启动超时计数器。换句话说,如果超时默认是30秒,在脚本运行了了25秒时调用 set_time_limit(20),那么,脚本在超时之前可运行总时间为45秒。

    参数

    seconds

    最大的执行时间,单位为秒。如果设置为0(零),没有时间方面的限制。

    返回值

    成功时返回 TRUE,失败时返回 FALSE 。

    注释

    Warning

    当php运行于安全模式时,此功能不能生效。除了关闭安全模式或改变php.ini中的时间限制,没有别的办法。

    Note:

    set_time_limit()函数和配置指令max_execution_time只影响脚本本身执行的时间。任何发生在诸如使用system()的系统调用,流操作,数据库操作等的脚本执行的最大时间不包括其中,当该脚本已运行。在测量时间是实值的Windows中,情况就不是如此了。

    //在设置set_time_limit()时,sleep()的持续时间在执行时间内将被忽略。
    <?php
    
    set_time_limit(20);
    
    while ($i<=10)
    {
            echo "i=$i ";
            sleep(100);
            $i++;
    }
    
    ?>
    
    Output:
    i=0 i=1 i=2 i=3 i=4 i=5 i=6 i=7 i=8 i=9 i=10

    max_execution_time 

    这设置了脚本被解析器中止之前允许的最大执行时间,单位秒。 这有助于防止写得不好的脚本占尽服务器资源。 默认设置为 30。 从命令行运行 PHP 时,默认设置为 0

    最大执行时间不会影响系统调用和系统操作等。 set_time_limit()

    在 安全模式 下你不能通过 ini_set() 来修改此设置。 唯一的解决方法是关闭安全模式或者在 php.ini 中修改时间限制。

    你的 web 服务器也可以有其他超时设置,也有可能中断 PHP 的执行。 Apache 有一个 Timeout 指令,IIS 有一个 CGI 超时功能。 他们默认都是 300 秒。更多具体信息参见你的 web 服务器的文档。

     

  • 相关阅读:
    OpenWrt 上安装 AdGuard Home
    java网络编程
    如何进行数据库选型
    银行业务中台
    数仓|大数据时代,维度建模过时了吗?
    spqrk相关
    Apache Doris在美团外卖数仓中的应用实践
    hadoop的简单规划
    数据中台建设
    银行数仓分层
  • 原文地址:https://www.cnblogs.com/Whitehat/p/9028585.html
Copyright © 2011-2022 走看看