Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Добрый день!
Помогите пожалуйста отключить вывод ошибок Whoops.
Сам скрипт работает корректно и претензии в работе нет, но при открытии определенного адреса в браузере вылезает страница ошибок Whoops. (/vendor/laravel/framework/src/Illuminate/Routing/и далее разные папки и файлы с ошибками).
Файл .env не где не нашёл!
Пробовал отключить вывод ошибок через файл .htaccess не помогает все равно выводится эта страница.
Даже не знаю какая версия laravel, я не программист((
Вот структура фремворка /vendor/laravel/framework/
папка src
.gitattributes
.gitignore
.scrutinizer.yml
.travis.yml
CONTRIBUTING.md
LICENSE.txt
composer.json
phpunit.php
phpunit.xml
readme.md
Не в сети
whoops по-моему был в 4.x. если он ведёт себя также как и отладочный вывод в 5.x – он должен отключаться или установкой параметра debug в false, или environment – в production. смотри в конфигах начиная наверное с config/app.php
Не в сети
В папке
vendor/laravel/framework/src/Illuminate/Config:
EnvironmentVariables.php,
EnvironmentVariablesLoaderInterface.php,
FileEnvironmentVariablesLoader.php,
FileLoader.php,
LoaderInterface.php,
Repository.php,
composer.json
Куда копать?
app.php нашёл в папке vendor/laravel/framework/src/Illuminate/Support/Facades/App.php
<?php namespace Illuminate\Support\Facades;
/**
* @see \Illuminate\Foundation\Application
*/
class App extends Facade {
/**
* Get the registered name of the component.
*
* @return string
*/
protected static function getFacadeAccessor() { return 'app'; }
}
Может создать файл .env.example в какой нибудь директории и в этом файле отключить это whoops ?
Не в сети
в 4.x нет .env. посмотри в документации как там выбрать окружение. может там вообще где-то есть 'enable_whoops' => true в конфиге я с 4.x никогда не работал
Не в сети
Проблему решил методом тыка.
В /vendor/laravel/framework/src/Illuminate/Exception/ExceptionServiceProvider.php
protected function registerWhoops()
{
$this->registerWhoopsHandler();
$this->app['whoops'] = $this->app->share(function($app)
{
// We will instruct Whoops to not exit after it displays the exception as it
// will otherwise run out before we can do anything else. We just want to
// let the framework go ahead and finish a request on this end instead.
with($whoops = new Run)->allowQuit(true); вот здесь было false поставил true и вместо страницы ошибки белая страница!
$whoops->writeToOutput(false);
return $whoops->pushHandler($app['whoops.handler']);
});
}
Не в сети
содержимое папки /vendor править нельзя, как ты обновления пакетов потом собрался устанавливать? надо найти в коде вызов registerWhoops и по какому условию он выполняется, наверняка там проверяется какой-то параметр в конфиге
Не в сети
Добрый день!
Файл .env не где не нашёл!
Его и не должно быть. Создавать нужно руками по примеру файла .env.example (example означает пример) который присутствует после установки через composer.
Или в config/app.php поменять 'env' => env('APP_ENV', 'dev') на 'env' => env('APP_ENV', 'production'),
Изменено dvomaks (18.03.2017 12:00:48)
Не в сети
Страницы 1