Laravel 5.7: пользовательский шаблон лезвия для режима обслуживания, но не 503.blade.php - PullRequest
0 голосов
/ 04 января 2019

Каждый раз, когда php artisan down включается, Laravel отображает страницу 503.

OK.Я могу настроить его, создав новый файл с именем 503.blade.php внутри resources/views/errors.

. Однако в любом случае я не рассматриваю режим обслуживания как ошибку, несмотря на то, что он делает веб-сайт недоступным и для клиента.так как, несмотря на непротиворечивое описание HTTP 503:

Ошибка 503 Service Unavailable - это ошибка на стороне сервера, означающая, что проблема обычно связана с сервером сайта.... Даже несмотря на то, что ошибка 503 Service Unavailable означает, что на другом компьютере произошла ошибка, проблема, вероятно, носит временный характер.

Как определить собственный шаблон блейда (скажем, maintenance_mode.blade.php), чтобы настроить то, что пользователи видят во время работы приложения, и оставить 503 без изменений?

Мои усилия: я исследовал само промежуточное ПО внутри поставщика, но оно только выдает исключение, я предполагаю, что это исключениегде-то попался и обрабатывает ответ с соответствующим видом?Может кто-нибудь подсказать мне, как добиться того, что мне нужно?

Спасибо

Ответы [ 2 ]

0 голосов
/ 04 января 2019

Одним из способов может быть изменение метода рендеринга в обработчике исключений.Что-то вроде:

// app_path('Exceptions/Handler.php');

/**
 * Render an exception into an HTTP response.
 *
 * @param  \Illuminate\Http\Request  $request
 * @param  \Exception  $exception
 * @return \Illuminate\Http\Response
 */
public function render($request, Exception $exception)
{
    if ($exception instanceof \Illuminate\Foundation\Http\Exceptions\MaintenanceModeException) {
        return response()
            ->view('maintenance.down', [
                'message' => 'Come back later.'
            ], 200)
            ->header('Content-Type', 'text/html; charset=utf-8');
    }

    return parent::render($request, $exception);
}
0 голосов
/ 04 января 2019

Если вы хотите, чтобы пользовательское сообщение отображалось на сервере (503.blade.php)

Laravel Имеет готовую настройку

php artisan down --message="We are Upgrading look and feel"

Теперь мы are Upgrading look and feel будут отображатьсяна странице, пока пользователь посещает страницу

Если вы хотите больше настроек, пожалуйста, посмотрите пакет

https://github.com/MisterPhilip/maintenance-mode

Если этот ответ irrelevnt или нет fixed your problem, пожалуйста, прокомментируйте ниже, чтобы яможно исправить это

Надеюсь, это поможет

Отредактировано

Хорошо, затем запустите команду в своем терминале

php artisan vendor:publish и выберите 0, чтобы онопубликует все виды и конфиги

, теперь откройте папку просмотра, там будет папка errors

, и вы увидите, что list of error files, предоставленный laravel, теперь изменяется согласно вашемунастройте и запустите php artisan opt:clear, он очистит все cache views ,configs и теперь попробуйте

, настроив ваш 503.blade.php, теперь он отлично работает

вы можете просто просмотреть учебникнастройки 404.blade.php и настройки согласно требованию

Cнастроить 404 в laravel

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...