Я пытаюсь включить отладку для моего приложения, но похоже, что у меня нет обратной связи.
Окружение установлено на локальное (в файле .env), и если я запускаю
php artisan env
Я получаю это
Current application environment: local
Конфигурация отладки для моего локального env установлена в true
return [ 'debug' => true,
Кроме того, если я установил свой основной файл конфигурации (app.php внутри папки config), то debug = true
меня все еще есть обратная связь, что в коде есть ошибка.
У меня есть только пустая страница, если в коде есть ошибка (как для debug = false)
Что мне не хватает?
Я работал над проблемой с помощью 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 может потребоваться также выполнить эту последнюю команду в папке bootstrap.
У меня была ситуация, когда у меня был тот же самый симптом, некоторые маршруты не обеспечивали никакой обратной связи, просто белая страница, никаких ошибок в журнале не было никакой информации.
Оказывается, я добавлял новое промежуточное ПО, и я забыл вернуть $next($request)
из моего метода обработки. Это было еще более неприятно, потому что это промежуточное ПО не распространялось на каждый маршрут, поэтому я предположил, что на этих маршрутах произошла прерывистая ошибка, которая была выбрана, но не отображалась.
Как сказал Блэр, может оказаться, что вы поставили неверный код в промежуточное программное обеспечение или в «Исключения / Handler.php», например:
if($e->getStatusCode()===404) { ... }
вместо
if($e instanceof NotFoundHttpException) { ... }
Даже в Windows нужно сделать: chmod -R 777 storage/
Вы можете запустить его с Git Bash;
Если приведенные выше ответы не сработали для вас, вы можете проверить файлы конфигурации, которые вы, возможно, изменили, и начать отладку оттуда.
В моем случае вышеупомянутые решения не сработали для меня, потому что основной причиной моей проблемы было изменение часового пояса в файле config / app.php (из laravel default UTC я изменил его на EST5EDT). По какой-то причине изменение настройки часового пояса не позволяет laravel регистрировать ошибки в папке хранилища, и я получаю пустой экран (сообщение об ошибке «не горит!»). Вместо этого я изменил часовой пояс на America / New_York, и журналы ошибок снова работают.
Надеюсь это поможет.
Для меня, что отлично работало, было отключить hhvm в файле Homestead.yaml , тогда я сделал бродячую перезагрузку – и это было!
Также, если вы только что установили просвет, убедитесь, что вы переименовали .env.example
в .env
в свой основной каталог приложений, так как он не будет работать, если ваш конфигурационный файл все еще назван файлом среды по-прежнему называется .env.example
.
Я действительно решил проблему, не комментируя строку
Dotenv::load(__DIR__.'/../');
в bootstrap/app.php
.
Чтобы он фактически загружал его перед компиляцией и кэшированием,
хорошо работает php artisan optimize
делает это для вас, если у вас есть Laravel (Not Lumen)
Но если вы посмотрите на их документацию, то она по умолчанию прокомментирована, я думаю, что они, возможно, уже исправили ее http://lumen.laravel.com/docs/installation .