Laravel 5. Режим отладки
Я установил режим отладки на true
в config->app и развернул его на сервере:
'debug' => env('APP_DEBUG', true),
У меня есть следующий код в контроллере для проверки режима:
...
$debug = config('app.debug');
var_dump($debug);
$product->save();
Результат на локальной машине:
C: \ xampp \ htdocs \ MK \ app \ Http \ Controllers \ ProductController.php: 45: логическое значение true
Результат на сервере:
bool (false). Ой, похоже, что-то пошло не так.
Почему режим отладки не установлен на стороне сервера?
2 ответа
Эта строка в вашем конфигурационном файле, 'debug' => env('APP_DEBUG', true)
, может быть причиной вашей проблемы.
Это говорит; задавать debug
к значению, определенному в моем .env
файл, и если его нет, используйте true
,
Как таковой он смотрит на APP_DEBUG=false
в вашем .env
файл, даже если для второго параметра установлено значение true.
Попробуйте обновить настройки в вашем .env
файл к истине.
Прежде всего необходимо активировать режим отладки! ИAPP_ENV
необходимо установить на локальный.
Как это сделать? Нам нужно проверить в нескольких местах
.env файл
APP_ENV=local
APP_DEBUG=true
Убедитесь, что они не установлены дважды! Вы можете раскомментировать# APP_ENV=production
(с помощью #
).
Слишком важно вам изменить APP_ENV
к local
.
И чтобы проверить, можно запустить
php artisan env
Вы получите что-то вроде:
конфигурация / app.php
Следующее, что нужно проверить, это config/app.php
Знайте, что .env
обрабатывается этим файлом! И в этом файле осуществляется управление конфигурацией!
Убедитесь, что строка конфигурации не удалена и не прокомментирована!
(в зависимости от того, новая ли это установка или над проектом уже работали)
В зависимости от того, какую версию Laravel вы используете! Может немного отличаться!
Но суть в том, чтобы убедиться, что конфигурация.env загружена, иначе по умолчанию будет установлено значение true!
'debug' => env('APP_DEBUG', true) // second param the default value
В нашем текущем проекте! Настройки были такими, как показано ниже:
'debug' => (function_exists('env')) ? env('APP_DEBUG', true) : true,
он проверяет, существует ли env! если да, то используйте это! В противном случае он установит значение по умолчанию напрямую!
Мой товарищ по команде! Не заметил этого! И он получил ошибку! Потому что кто-то до нас изменил его, как показано ниже (и было прокомментировано):
Изображение добавлено, чтобы проиллюстрировать, как можно сделать ошибку! Также для навигационного оформления!
Итог проверьте это и убедитесь, что все в порядке! (если все в порядке, просто переходите к следующему разделу)
Все готово, но не работает
Да и следовало ожидать!
Очистить просмотры и кеш
Важно знать, что вам может потребоваться очистить кеш.
Пробег
php artisan view:clear
а также
php artisan cache:clear
После этого должно работать!
Если не!
Разрешения на файлы
У вас могут быть проблемы с правами доступа к файловой системе!
Проверь это
Ожидаемый вид отладки
Laravel красивый экран отладки â ï¸
В вашем случае просто перейдите в файл.env и измените "APP_DEBUG=false" на "APP_DEBUG=true".
Вы также можете изменить настройку в свой файл.env из
APP_ENV=production
APP_DEBUG=false
к
APP_ENV=local
APP_DEBUG=true