【问题标题】:Max Execution Timeout 30 Seconds/Mbstring Error Laravel 6*最大执行超时 30 秒/Mbstring 错误 Laravel 6*
【发布时间】:2020-05-08 03:40:15
【问题描述】:

我在 Laravel 6.2 中工作,并且有一个基本数据库,其中包含一个 questions 表,该表带回 id、slug、title、body、时间戳。我在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

任何想法为什么我会收到此错误?如果 $question->body 行被注释掉,页面就会加载。

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

谢谢。

【问题讨论】:

    标签: php laravel laravel-blade ini


    【解决方案1】:

    编辑:回答 OP 的问题为时已晚。

    如果您使用的是 Apache,请检查所提供的 PHP 版本。

    使用的 php-cli 是 php8.0 然而,Apache 使用的是 php7.4。这导致 Symfony 的 polyfill-mbstring 库超时,因为该模块未启用。

    【讨论】:

    • 你是怎么解决的?
    【解决方案2】:

    迟到了,但有人遇到了这个问题。
    此问题来自 php mb-string 无法正常工作。
    所以重新安装php mb-string可以修复这个错误。

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2013-11-16
        • 2018-08-01
        • 1970-01-01
        • 2011-07-07
        • 2015-03-31
        • 1970-01-01
        相关资源
        最近更新 更多