В 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
Может ли это быть ошибка или что-то? Пожалуйста помогите.
Попробуйте изменить разрешение на папку хранения:
chmod -R 0777 storage
Это сработало для меня.
Я действительно не знаю, почему это произошло, но теперь я работаю как надо после того, как я бегу
vagrant destroy
разрушить усадьбу В.М.
а потом vagrant up
— создать виртуальную машину
Сообщения об ошибках теперь отображаются вместо пустой страницы:
Альтернативное решение, которое мне помогло, работает
composer install
Я развернул с помощью git, который автоматически игнорирует некоторые файлы. запуск композера установил исправил это для меня.
У меня та же проблема, но тут появляется причина и решение:
Файлы журналов в хранилище / журналы должны принадлежать / записываться пользователем веб-сервера. В противном случае L5 дает вам пустую страницу.
Я запускаю «php artisan …» всегда как root. Если было сгенерировано исключение, и Laravel создает новый лог-файл, то он принадлежит root. На моем Debian я запускаю в корневой папке проекта:
chown www-data.root * -R
Для решения этой проблемы.
// лаварел 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);
}