最大执行超时30秒/MB字符串错误Laravel 6*
我在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}}时,它可以很好地工作。我不确定这为什么会导致问题,但通过删除该部分代码,它现在似乎可以工作。
相关文章