首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何解决Laravel 5中的超时错误

如何解决Laravel 5中的超时错误
EN

Stack Overflow用户
提问于 2015-05-15 23:49:11
回答 13查看 234.7K关注 0票数 58

我有以下设置:

在我的路线上:

路线:get(文章,ArticlesController@index);

控制器中的索引方法很简单:

代码语言:javascript
复制
public function index()
{
   $articles = Article::all();
   return View('articles.index', compact('articles'));
}

并认为:

代码语言:javascript
复制
@extends('../app')
@section('content')
<h1>Articles</h1>
<p>
    @foreach($articles as $article)
    <article>
        <h2><a href="{{action('ArticlesController@show', [$article->id])}}">{{$article->title}}</a></h2>
        <p>{{ $article->body }}</p>
    </article>
    @endforeach
</p>
@stop

我试图替换:

代码语言:javascript
复制
$articles = Article::all();

使用

代码语言:javascript
复制
$article = Article::latest()->get();

这样我就可以先展示最新的文章了。我发现了一个错误:

代码语言:javascript
复制
FatalErrorException in Str.php line 322:
Maximum execution time of 30 seconds exceeded

调用堆栈是:

代码语言:javascript
复制
in Str.php line 322
at FatalErrorException->__construct() in HandleExceptions.php line 131
at HandleExceptions->fatalExceptionFromError() in HandleExceptions.php line 116
at HandleExceptions->handleShutdown() in HandleExceptions.php line 0
at Str::snake() in helpers.php line 561
at snake_case() in ControllerInspector.php line 105
at ControllerInspector->getVerb() in ControllerInspector.php line 78
at ControllerInspector->getMethodData() in ControllerInspector.php line 39
at ControllerInspector->getRoutable() in Router.php line 251
at Router->controller() in Router.php line 226
at Router->controllers() in Facade.php line 210
at Facade::__callStatic() in routes.php line 21
at Route::controllers() in routes.php line 21
in RouteServiceProvider.php line 40

..。等

我已经将控制器方法恢复到原来的状态,但是错误仍然存在。

你能告诉我怎么解决这个问题吗?

EN

回答 13

Stack Overflow用户

回答已采纳

发布于 2015-05-17 18:48:31

的最大执行时间超过了错误30秒,这与Laravel无关,而是与您的PHP配置有关。

这是你如何解决它的方法。您需要更改的设置是max_execution_time

代码语言:javascript
复制
;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;

max_execution_time = 30     ; Maximum execution time of each script, in seconds
max_input_time = 60 ; Maximum amount of time each script may spend parsing request data
memory_limit = 8M      ; Maximum amount of memory a script may consume (8MB)

您可以将max_execution_time更改为300秒,如max_execution_time = 300

您可以在phpinfo函数的Loaded Configuration File部分的输出中找到path文件的路径。

票数 84
EN

Stack Overflow用户

发布于 2016-06-24 23:14:21

这是一个纯PHP设置。另一种方法是仅增加特定php脚本的执行时间限制,方法是在该php文件的基础上插入以下内容:

代码语言:javascript
复制
ini_set('max_execution_time', 180); //3 minutes
票数 58
EN

Stack Overflow用户

发布于 2018-02-13 18:52:12

在拉拉维尔:

在查询顶部添加set_time_limit(0)行。

代码语言:javascript
复制
set_time_limit(0);

$users = App\User::all();

它帮助您处理不同的大型查询,但您需要改进查询优化。

票数 30
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30270316

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档