Laravel超时问题


Laravel Timeout Issue

我有一个长时间运行的Laravel进程来生成报告。在选择长日期范围时,大约100秒后,我会重定向回同一个URL。我把代码改成这个:

set_time_limit(20);
while(1) {
    $var = 3 + 4 / 11;
}

它运行20秒,然后重定向到同一个URL。我想补充一点,我有两个路由,一个GET路由和一个POST路由。POST路由超时。

我试过

set_time_limit(0);

但这并没有什么不同。我打开了调试,但什么都没有。感谢您的帮助。

编辑:我运行的是PHP5.4.x,所以它不是安全模式。编辑:这是控制器-http://laravel.io/bin/WVdVz,这是应该执行的最后一个代码-http://laravel.io/bin/aa2GW.编辑:错误处理库Whoops捕获并记录超时错误。我的日志很干净。这与Laravel如何处理我的_download函数后的响应有关。。。

经过大量调试,我终于明白了。Apache超时了。显然,当Apache超时时,它会抛出500个响应代码。显然(再次),当浏览器收到POST请求的500错误代码时,它会将其作为GET请求重新发送。我在这里写得更详细:http://blog.voltampmedia.com/2014/09/02/php-apache-timeouts-post-requests/

需要明确的是,这不是拉拉威尔的问题。请注意,Whoops库确实捕获了超时错误。