Laravel超时问题

时间:2014-09-01 05:09:22

标签: php laravel-4

我有一个长期运行的Laravel流程来生成报告。选择长日期范围时,我在大约100秒后重定向回到相同的URL。我将代码更改为:

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

它运行20秒然后重定向到相同的URL。我想补充说我有2条路线,一条GET路线和一条POST路线。 POST路由超时。

我已经尝试了

set_time_limit(0);

但它并没有什么不同。我打开了调试,但没有。任何帮助表示赞赏。

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

1 个答案:

答案 0 :(得分:1)

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

要明确,这不是Laravel问题。请注意,Whoops库确实捕获了超时错误。