2016-07-19 10 views
0

Я использую Laravel 5,2не работает на заказ HTTP страницы ошибок в Laravel 5.2

Я хотел изменить эту ошибку:

Упс, выглядит как что-то пошло не так.

первый смотрите: Laravel

Я создал новый файл resources/views/errors/404.blade.php, но моя ошибка приложения не изменится!

это изменить только тогда, когда не нашел url в route но когда инъекции Вставить URL в до $ _GET это шоу «упс ..» еще

, например, работа по этой ссылке: http://domain.com/dgdgergehrhddg54d6g8

, но не работает это инъекции: http://domain.com/listmanage=8 вставить 9 instens из сообщения 8

ошибок при отладке верно:

ErrorException: file.php линия 215

Попытка получить свойство необъектных

+0

где вы изменили режим отладки из файла или конфигурации env? и попытались ли вы получить доступ к неопределенному маршруту или отправить прерывание (404) для проверки? – ClearBoth

+0

FYI: «Увы, [...]» ошибки в Laravel являются ошибками HTTP 5XX, а не 404. – Sam

+0

i удаляет строку 'APP_DEBUG' в env-файле и изменяет режим отладки из config-no- как можно отправить прерывание (404) или попытаться получить доступ к неопределенному маршруту? –

ответ

0

Вы читаете эту страницу ошибки из-за окружающей среды, вы в. По умолчанию для локальных сред отображается формат «Упс». Для производственных сред используются файлы error/x.blade.php.

Чтобы настроить это, вы просто переходите к: ./app/Exceptions/Handler.php И измените функцию render. Вы можете сделать что-то вроде этого:

public function render($request, Exception $e) 
{ 
    // If an ErrorException is received and this enviroment is local 
    if ($e instanceof \ErrorException && app()->environment() == 'local') { 
     // Show customized page 
     return response()->view('errors.404', [], $e->getCode()); 
    } 

    return parent::render($request, $e); 

} 

Приветствия :)

+0

мое приложение не установлено в localhost, оно находится на VPS, поэтому я должен изменить' APP_ENV = local' в файле ENV? и что такое '\ ErrorException' внутри' if' commend im новый пользователь, пожалуйста, просто скажите спасибо –

+0

нет, ваш APP_ENV = производство в порядке. Можете ли вы разместить содержимое файла Handler.php? И ErrorException - это событие, которое Laravel срабатывает при возникновении ошибки. – mkmnstr

+0

да, я разместил содержание 'Handler.php', но это не сработало! –

0

на Larvel 5.2 на вашем app/exceptions/handler.php просто продлить этот метод renderHttpException т.е. добавить этот метод handler.php

/** 
* Render the given HttpException. 
* 
* @param \Symfony\Component\HttpKernel\Exception\HttpException $e 
* @return \Symfony\Component\HttpFoundation\Response 
*/ 
protected function renderHttpException(HttpException $e) 
{ 

    // to get status code ie 404, 503, 500 
    $status = $e->getStatusCode(); 

    if (view()->exists("errors.{$status}")) { 
     return response()->view("errors.{$status}", ['exception' => $e], $status, $e->getHeaders()); 
    } else { 
     return $this->convertExceptionToResponse($e); 
    } 
} 

Надежда, что помогает.