2015-03-05 1 views
1

В laravel 4 при попытке отобразить представление, которого нет в app \ views или представление с неопределенными переменными laravel выдает исключение или показать ошибку, которая помогает при отладке.Лезвие Laravel 5 показывает пустую страницу, когда появляется ошибка вместо исключения исключения

У меня есть новая установка 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 по умолчанию в конфиге/просмотров

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

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

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

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

+1

Пожалуйста добавьте, что вы изменили свою папку просмотра на свой вопрос! – wiesson

+1

Вы делаете это в Linux? Если да, обратите внимание, что Laravel кэширует его представления в каталоге хранилища. Измените perms на 755 для каталога. Я должен был сделать это сам. – Pazuzu156

+0

Я установил бродягу и виртуальную коробку на окне 7. – Digitlimit

ответ

1

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

vagrant destroy уничтожить приусадебный VM

, а затем vagrant up - создать виртуальную машину

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

enter image description here

+0

В моем случае случается, что: Исключения/Handler.php не найдены, и из-за этого класса обработчика исключений не существует, он все время забрасывал 500 ошибок. Решение: оптимизация php-artisan или установка композитора – Purvesh

0

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

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

7

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

chmod -R 0777 storage 

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

0

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

composer install 

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

0

// lavarel 4 * Добавить это приложение/старт/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); 
}); 

// lavarel 5 * Добавить это приложение/Исключения/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); 
} 
Смежные вопросы