Laravel 5-env local debug true ошибок не отображается
Я пытаюсь включить отладки моего приложения, но похоже, что у меня нет обратной связи.
среда имеет значение local (в поле .env file) , и если я запускаю
php artisan env
Я понимаю это
Current application environment: local
конфигурация отладки для моего локального env установлена в true
return [
'debug' => true,
также, если я установил в своем основном файле конфигурации (app.php внутри папки config)debug = true
у меня все еще есть обратная связь ho, что в коде есть ошибка.
Я только имейте пустую страницу, если в коде есть ошибка (как для debug = false)
что я упустил?
12 ответов
Я работал над проблемой chmod -R 777 storage/
на моей главной машине (Mac OS X). На моей гостевой машине (Ubuntu 14.04) chmod -R 777 storage/
фактически не изменил разрешения.
php artisan optimize
и если он все еще не работает, удалите файл storage/meta/compiled.php
как указано в тема форума на Laracasts
у меня была та же проблема и artisan
команда сделала трюк.
обновление
я узнал, что хороший способ обойти проблемы, связанные с папкой хранения,-установить www-data в качестве ее владельца. Я использую две команды:
sudo chown $(whoami):www-data . -R
и
sudo chown www-data: storage -R
из Laravel 5.1 это может быть необходимо сделать последняя команда тоже в папку Загрузки.
У меня была ситуация, когда у меня был точно такой же симптом, некоторые маршруты не предоставляли никакой обратной связи, просто белая страница, никакой ошибки в журнале нет информации вообще.
оказывается, я добавлял новое промежуточное ПО, и я забыл вернуть $next($request)
из моего метода дескриптора. Это было еще более неприятно, потому что это промежуточное программное обеспечение не применялось к каждому маршруту, поэтому я предположил, что была прерывистая ошибка, которая выбрасывалась, Но не отображалась на этих маршрутах.
Как сказал Блэр, может оказаться, что вы положили неправильный код в промежуточное ПО или в "исключения/обработчик".php ' например:
if($e->getStatusCode()===404) { ... }
вместо
if($e instanceof NotFoundHttpException) { ... }
даже на Windows необходимо сделать:chmod -R 777 storage/
Вы можете запустить его с помощью Git Bash;
просто для полноты, у меня была эта проблема, когда произошла ошибка в методах, которые использовали Model::findOrFail($someId)
. Заменив его на Model::find($someId)
отображается журнал ошибок.
Если вышеуказанные ответы не сработали для вас, вы можете проверить файлы конфигурации, которые вы могли изменить, и начать отладку оттуда.
в моем случае вышеуказанные решения не работали для меня, потому что основной причиной моей проблемы было изменение часового пояса в config/app.php-файл (из Laravel по умолчанию UTC я изменил его на EST5EDT). По какой-то причине изменение настройки часового пояса не позволяет laravel регистрировать ошибки в папке хранения, и я получаю пустой экран (нет упс! сообщение об ошибке.) Вместо этого я изменил часовой пояс на America/New_York, и журналы ошибок снова работают.
надеюсь, что это помогает.
для меня то, что отлично работало, было отключением hhvm в Хоумстед.и YAML, то я перезагрузка бродяги --provision и это все!
также, если вы только что установили lumen убедитесь, что вы переименовали .env.example
до .env
в вашем главном каталоге приложений, поскольку он не будет работать, если ваш config по-прежнему называется файлом среды, по-прежнему называется .env.example
.
я фактически решил проблему ООН-комментируя строку Dotenv::load(__DIR__.'/../');
на bootstrap/app.php
.
Так что он фактически загружает его перед компиляцией и кэшированием,
работает php artisan optimize
делает это для вас, если у вас есть Laravel (не люмен)
но если вы посмотрите на их документацию, она закомментирована по умолчанию, я думаю, что они могли бы исправить это сейчас http://lumen.laravel.com/docs/installation.
на config / app.в PHP и если это так :
'debug' = > env ('APP_DEBUG', false),
затем он изменится на:
'debug' = > env ('APP_DEBUG', true),
этого.
я столкнулся с той же проблемой, поэтому я проверил обработчик.php файл папки исключений, где функция рендеринга, которая имеет строку возвращаемого значения, комментируется, поэтому страница становится пустой.
public function render($request, Exception $exception)
{
//return parent::render($request, $exception);
}