Answers:
您可以通过多种方式设置php-fpm的超时时间。在/etc/php5/fpm/pool.d/www.conf我添加这一行:
request_terminate_timeout = 180另外,/etc/nginx/sites-available/default我在有关服务器的位置块中添加了以下行:
fastcgi_read_timeout 180;整个位置块如下所示:
location ~ \.php$ {
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_read_timeout 180;
    include fastcgi_params;
} 现在,只需重新启动php-fpm和nginx,并且请求所花费的时间不到180秒就不会再有超时了。
fastcgi_read_timeout在该location块中设置了什么,它在60秒后仍会超时。
                    location处理php脚本而不是docroot 的块中进行设置。
                    试试这个链接,它有一个更好的解决方案。因此,步骤如下:
nginx.conf文件/etc/nginx。在以下部分的代码下面添加此代码http {:
client_header_timeout 3000;
client_body_timeout 3000;
fastcgi_read_timeout 3000;
client_max_body_size 32m;
fastcgi_buffers 8 128k;
fastcgi_buffer_size 128k;注意:如果已经存在,请根据更改值。
重新加载Nginx和php5-fpm。
$ service nginx reload
$ service php5-fpm reload如果错误仍然存在,请考虑增加值。
/etc/nginx/sites-available/mysite.com。
                    您不能使用PHP阻止nginx发出的超时。
要配置nginx允许更多时间,请参阅proxy_read_timeout指令。
在这种情况下可能会发生三种超时。可以看出,每个答案仅集中在这些可能性的一个方面。因此,我想把它写下来,这样以后再来这里的人就不必随意检查每个答案并获得成功,而无需知道哪个有效。
因此,解决每个问题的方法如下。
$.ajax({
    url: "test.html",
    error: function(){
        // will fire when timeout is reached
    },
    success: function(){
        //do something
    },
    timeout: 3000 // sets timeout to 3 seconds
});nginx客户端超时
http{
     #in seconds
    fastcgi_read_timeout 600;
    client_header_timeout 600;
    client_body_timeout 600;
 }Nginx代理服务器超时
http{
  #Time to wait for the replying server
   proxy_read_timeout 600s;
}因此,请使用您需要的那个。也许在某些情况下,您需要所有这些配置。我需要。
您需要在中添加额外的nginx指令(用于ngx_http_proxy_module)nginx.conf,例如:
proxy_read_timeout 300;基本上,nginx proxy_read_timeout指令会更改代理超时,“ FcgidIOTimeoutis”用于安静时间过长的脚本,以及FcgidBusyTimeout的脚本,而执行时间太长的脚本。
另外,如果您使用的是FastCGI应用程序,请同时增加以下选项:
FcgidBusyTimeout 300
FcgidIOTimeout 250然后重新加载nginx和PHP5-FPM。
在Plesk中,可以将其添加到“ Web服务器设置”中的 “ 其他nginx指令”下。
对于FastCGI,请在“ HTTP的附加指令”下的“ Web服务器设置”中检查。
FcgidBusyTimeout变量只为Apache的存在?
                    set_time_limit(0)当使用php-fpm或类似的进程管理器时,使用是没有用的。
使用set_time_limit时不要使用底线php-fpm,要增加执行超时,请查看本教程。