如何阻止 apache 服务器在等待后端脚本时超时


How to stop the apache server from timing out while waiting for backend script?

我有一个后端脚本,需要几分钟才能执行。我使用 php 前端脚本调用此后端脚本。在等待后端脚本结束之前,连接超时。我想要一个持久的后端调用,以便前端不会超时(或在certain时间后超时)。Web 浏览器控制台中抛出的错误是:

    POST http:///main.php 504 (Connection Timed Out) jquery-1.8.3.js:8434
    Object {readyState: 4, setRequestHeader: function, getAllResponseHeaders: function, getResponseHeader: function, overrideMimeType: function…}
      custom.js:310
    error custom.js:310
    Connection Timed Out custom.js:310
    POST http:///main.php 504 (Connection Timed Out) jquery-1.8.3.js:8434
    POST http:///main.php 504 (Connection Timed Out) jquery-1.8.3.js:8434
    POST http:///main.php 504 (Connection Timed Out) jquery-1.8.3.js:8434
    POST http:///main.php 504 (Connection Timed Out) jquery-1.8.3.js:8434
    POST http:///main.php 504 (Connection Timed Out) jquery-1.8.3.js:8434
    POST http:///main.php 504 (Connection Timed Out) jquery-1.8.3.js:8434
    POST http:///main.php 504 (Connection Timed Out) jquery-1.8.3.js:8434
    POST http:///main.php 504 (Connection Timed Out) jquery-1.8.3.js:8434
    POST http:///main.php 504 (Connection Timed Out) jquery-1.8.3.js:8434
    POST http:///main.php 504 (Connection Timed Out) jquery-1.8.3.js:8434

http://php.net/manual/en/function.set-time-limit.php

**void set_time_limit ( int $seconds )**

设置允许脚本运行的秒数。如果达到此目的,脚本将返回致命错误。默认限制为 30 秒,或者,如果存在,则为 php.ini 中定义的max_execution_time值。

您可能需要检查以下 PHP 函数:

ignore_user_abort和set_time_limit

set_time_limit(0);         //never time out
ignore_user_abort(true);   //ignore abort