Лезвие Laravel 5 показывает пустую страницу, когда возникает ошибка, а не выбрасывает исключение

В laravel 4, когда вы пытаетесь визуализировать представление, которое не существует в Приложение \ просмотров или представление с неопределенными переменными laravel выдаст исключение или покажет ошибку, которая помогает при отладке.

У меня свежая установка laravel 5.0.13, и мне трудно найти и устранить неполадки с шаблоном блейда, который показывает пустую страницу, когда я отображаю представление, которое не существует, или шаблон с неопределенными переменными вместо того, чтобы выдавать исключение или ошибку, которая будет подскажите мне когда отладка.

Я установил filp / whoops: ~ 1.0. но все равно получаю пустую страницу

class ProfileController extends Controller
{

public function index()
{
return view('indexx'); //this view does not really exist
}
}

Файл indexx не существует в моем ресурсы / виды и я ожидаю, что Laravel выдаст исключение, но вместо этого я получаю пустую страницу, почему?

Также, когда я отображаю представление, которое существует с некоторыми неопределенными переменными, я просто получаю пустую страницу

Пример:

Класс ProfileController расширяет контроллер
{

    public function index()
{
return view('index'); //this view exists
}

}

Содержание ресурсов / просмотров / индекса

{!! $this_variable_was_not_passed_an_I_expect_error !!}

Как вы можете видеть в представлении файла выше, переменная не существует, поскольку laravel просто покажет пустую страницу вместо выдачи исключения или некоторой ошибки отладки.

Также, чтобы заметить, я изменяю свой вид по умолчанию для laravel в config / views

'paths' => [
//realpath(base_path('resources/views'))
realpath(base_path('resources/themes/default'))
],

И laravel был в состоянии отображать представления из ресурсов / тем / по умолчанию, если в шаблоне нет ошибок, однако, если обнаружена какая-либо ошибка, такая как неопределенная переменная, laravel отображает пустую страницу вместо отображения сообщения об ошибке.

Также стоит упомянуть, что я устанавливаю виртуальную коробку и vagrant в окне 7

Может ли это быть ошибка или что-то? Пожалуйста помогите.

1

Решение

Попробуйте изменить разрешение на папку хранения:

chmod -R 0777 storage

Это сработало для меня.

7

Другие решения

Я действительно не знаю, почему это произошло, но теперь я работаю как надо после того, как я бегу

vagrant destroy разрушить усадьбу В.М.

а потом vagrant up — создать виртуальную машину

Сообщения об ошибках теперь отображаются вместо пустой страницы:

введите описание изображения здесь

1

Альтернативное решение, которое мне помогло, работает

composer install

Я развернул с помощью git, который автоматически игнорирует некоторые файлы. запуск композера установил исправил это для меня.

1

У меня та же проблема, но тут появляется причина и решение:
Файлы журналов в хранилище / журналы должны принадлежать / записываться пользователем веб-сервера. В противном случае L5 дает вам пустую страницу.

Я запускаю «php artisan …» всегда как root. Если было сгенерировано исключение, и Laravel создает новый лог-файл, то он принадлежит root. На моем Debian я запускаю в корневой папке проекта:

chown www-data.root * -R

Для решения этой проблемы.

0

// лаварел 4
* Добавьте это в app / start / gobal.php

App::error(function(Exception $e, $code) {
$runner = new \Whoops\Run;
$inspect = new \Whoops\Exception\Inspector($e);
$handler = new \Whoops\Handler\PrettyPageHandler;
$handler->setRun($run);
$handler->setInspector($insp);
$handler->setException($e);
return $handler->handle($e);
});

// лаварел 5
* Добавьте это в app / Exceptions / Handler.php

 public function render($request, Exception $exception)
{
..........
$runner = new \Whoops\Run;
$inspect = new \Whoops\Exception\Inspector($e);
$handler = new \Whoops\Handler\PrettyPageHandler;
$handler->setRun($run);
$handler->setInspector($insp);
$handler->setException($e);
$handler->handle($e);
......
return parent::render($request, $e);
}
0
По вопросам рекламы [email protected]