Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 11.03.2017 14:46:51

Как отключить вывод ошибки Whoops в laravel?

Добрый день!

Помогите пожалуйста отключить вывод ошибок 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

Не в сети

#2 11.03.2017 14:56:29

Re: Как отключить вывод ошибки Whoops в laravel?

whoops по-моему был в 4.x. если он ведёт себя также как и отладочный вывод в 5.x – он должен отключаться или установкой параметра debug в false, или environment – в production. смотри в конфигах начиная наверное с config/app.php

Не в сети

#3 11.03.2017 15:08:02

Re: Как отключить вывод ошибки Whoops в laravel?

В папке
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 11.03.2017 15:39:43

Re: Как отключить вывод ошибки Whoops в laravel?

в 4.x нет .env. посмотри в документации как там выбрать окружение. может там вообще где-то есть 'enable_whoops' => true в конфиге smile я с 4.x никогда не работал

Не в сети

#5 11.03.2017 17:32:55

Re: Как отключить вывод ошибки Whoops в laravel?

Проблему решил методом тыка.
В /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']);
        });
    }

Не в сети

#6 12.03.2017 09:04:59

Re: Как отключить вывод ошибки Whoops в laravel?

содержимое папки /vendor править нельзя, как ты обновления пакетов потом собрался устанавливать? надо найти в коде вызов registerWhoops и по какому условию он выполняется, наверняка там проверяется какой-то параметр в конфиге

Не в сети

#7 18.03.2017 11:56:08

Re: Как отключить вывод ошибки Whoops в laravel?

brodyaga пишет:

Добрый день!
Файл .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)

Не в сети

Подвал раздела