最大执行超时30秒/MB字符串错误Laravel 6*

2022-04-10 00:00:00 ini php laravel laravel-blade

我在Laravel 6.2中工作,我有一个基本数据库,其中包含一个questions表,该表返回id、slug、标题、正文、时间戳。我在questions上设置了一个路由,它调用一个控制器来查询数据库,并将问题传递给一个视图index.blade.php,在这里我用分页的方式显示问题。问题是我可以很好地显示$questions->title,但当我尝试显示$question->body时,我总是收到特定的超时错误。我已经将.ini中的max_Execution从30更改为300,但无济于事。

特定错误

PHP Fatal error:  Maximum execution time of 30 seconds exceeded in /home/projects/inquiry-app/vendor/symfony/polyfill-mbstring/Mbstring.php on line 603

第603行:

return (string) iconv_substr($s, $start, $length, $encoding);

web.php

Route::get('/', function () {
    return view('welcome');
});
Auth::routes();
Route::get('/home', 'HomeController@index')->name('home');
Route::resource('questions', 'QuestionsController');

问题控制器

class QuestionsController extends Controller
{
    public function index()
    {
        $questions = Question::latest()->paginate(2);

        return view('questions.index', compact('questions'));
    }
}

index.blade.php

 @foreach($questions as $question)
                            <div class="media">
                                <div class="media-body">
                                    <h3 class="mt-0">{{$question->title}}</h3>
{{--                                    <p>{{Str::limit($question->body, 10)}}</p>--}}
                                </div>
                            </div>
                            <hr>
                       @endforeach

您知道为什么我会收到这个错误吗?如果注释掉$Query->正文行,则会加载该页面。

我在Ubuntu 19.04、Laravel 6.2、php7.3(fpm/FastCGI)上

谢谢。


解决方案

回答我自己的问题。当我从$question->body行中删除{{Str::Limit}}时,它可以很好地工作。我不确定这为什么会导致问题,但通过删除该部分代码,它现在似乎可以工作。

相关文章