yii2 2.0.14 yii\web\HeadersAlreadySentException

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
an.viktory@gmail.com
Сообщения: 536
Зарегистрирован: 2016.09.05, 23:21

yii2 2.0.14 yii\web\HeadersAlreadySentException

Сообщение an.viktory@gmail.com »

установил свежий yii2 через composer, при рендеринге сообщений в контроллере стала вылезать

Код: Выделить всё

yii\web\HeadersAlreadySentException in \vendor\yiisoft\yii2\web\Response.php:366
в контроллере echo и var_dump делаю только для отладки.
someweb
Сообщения: 552
Зарегистрирован: 2017.03.09, 10:12

Re: yii2 2.0.14 yii\web\HeadersAlreadySentException

Сообщение someweb »

Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа. Роберт Шекли.
an.viktory@gmail.com
Сообщения: 536
Зарегистрирован: 2016.09.05, 23:21

Re: yii2 2.0.14 yii\web\HeadersAlreadySentException

Сообщение an.viktory@gmail.com »

ну чтож стало неудобно надо делать откат(
Аватара пользователя
SiZE
Сообщения: 2813
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: yii2 2.0.14 yii\web\HeadersAlreadySentException

Сообщение SiZE »

an.viktory@gmail.com писал(а): 2018.03.19, 08:57 ну чтож стало неудобно надо делать откат(
Так формат поменяй на raw или exit пиши. Все удобно.
an.viktory@gmail.com
Сообщения: 536
Зарегистрирован: 2016.09.05, 23:21

Re: yii2 2.0.14 yii\web\HeadersAlreadySentException

Сообщение an.viktory@gmail.com »

допустим я вывожу в контроллере свойство модели (в режиме разработки естественно)

Код: Выделить всё

echo "<br>$model->id = ".$model->id;
и как поменять на raw и что
Аватара пользователя
SiZE
Сообщения: 2813
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: yii2 2.0.14 yii\web\HeadersAlreadySentException

Сообщение SiZE »

an.viktory@gmail.com писал(а): 2018.03.19, 15:18 допустим я вывожу в контроллере свойство модели (в режиме разработки естественно)

Код: Выделить всё

echo "<br>$model->id = ".$model->id;
и как поменять на raw и что
Я накатал топик http://www.yiiframework.ru/forum/viewto ... 92#p234392
an.viktory@gmail.com
Сообщения: 536
Зарегистрирован: 2016.09.05, 23:21

Re: yii2 2.0.14 yii\web\HeadersAlreadySentException

Сообщение an.viktory@gmail.com »

А можно ли как то вообще отключить эту проверку на headers?
Аватара пользователя
SiZE
Сообщения: 2813
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: yii2 2.0.14 yii\web\HeadersAlreadySentException

Сообщение SiZE »

...
Последний раз редактировалось SiZE 2018.03.20, 09:51, всего редактировалось 4 раза.
an.viktory@gmail.com
Сообщения: 536
Зарегистрирован: 2016.09.05, 23:21

Re: yii2 2.0.14 yii\web\HeadersAlreadySentException

Сообщение an.viktory@gmail.com »

поменял но ничего не изменилось. Любое echo приводит в ошибке.
Аватара пользователя
SiZE
Сообщения: 2813
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: yii2 2.0.14 yii\web\HeadersAlreadySentException

Сообщение SiZE »

an.viktory@gmail.com писал(а): 2018.03.20, 09:19 поменял но ничего не изменилось. Любое echo приводит в ошибке.
Ввел в заблуждение. Если только совсем отключить обработку вывода.

https://github.com/yiisoft/yii2/blob/ma ... e.php#L160
someweb
Сообщения: 552
Зарегистрирован: 2017.03.09, 10:12

Re: yii2 2.0.14 yii\web\HeadersAlreadySentException

Сообщение someweb »

Код: Выделить всё

namespace app\utils;

class Dumper
{
    private static $dumpVars;

    public static function dump($var)
    {
        ob_start();
        var_dump($var);
        static::$dumpVars[] = ob_get_clean();
    }

    public static function print()
    {
        if (YII_DEBUG && isset(static::$dumpVars)) {
            foreach (static::$dumpVars as $var) {
                echo $var;
            }
        }
    }
}
Ипользование
\app\utils\Dumper::dump($myVar);

В layouts\main.php добавть <?= \app\utils\Dumper::print() ?> перед <?php $this->beginBody() ?>
Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа. Роберт Шекли.
an.viktory@gmail.com
Сообщения: 536
Зарегистрирован: 2016.09.05, 23:21

Re: yii2 2.0.14 yii\web\HeadersAlreadySentException

Сообщение an.viktory@gmail.com »

частично решило мою проблему, но обычный echo как использовать?
public static function echo($var)
{
ob_start();
echo $var;
static::$dumpVars[] = ob_get_clean();
}
Последний раз редактировалось an.viktory@gmail.com 2018.03.20, 11:56, всего редактировалось 1 раз.
Аватара пользователя
SiZE
Сообщения: 2813
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: yii2 2.0.14 yii\web\HeadersAlreadySentException

Сообщение SiZE »

an.viktory@gmail.com писал(а): 2018.03.20, 11:53частично решило мою проблему, но обычный echo как использовать?

Код: Выделить всё

echo 'qwe';
Yii::$app->response->isSent = true;
an.viktory@gmail.com
Сообщения: 536
Зарегистрирован: 2016.09.05, 23:21

Re: yii2 2.0.14 yii\web\HeadersAlreadySentException

Сообщение an.viktory@gmail.com »

форматирование исключений ужасное получается просто как длинный абзац )
mader
Сообщения: 84
Зарегистрирован: 2015.06.15, 13:44
Откуда: Воронеж

Re: yii2 2.0.14 yii\web\HeadersAlreadySentException

Сообщение mader »

такая же фигня. Вообщем, неделю назад проверял все работало, а тут вдруг не с того не с сего. ошибка эта.
есть приложение.
выбор страны, после выбора аяксом подгружаются регионы.
Все работало, сейчас заметил что ошибка.
допустим выбираю беллорусь подгружается все норм, выбираю Россию, возвращается аякс с json регионами и после регионов дописано

[{"region_id":"3160","country_id":"3159","city_id":"0","name":"\u0410\u043b\u0442\u0430\u0439\u0441\u043a\u0438\u0439 \u043a\u0440\u0430\u0439"},....................................{"region_id":"5019394","country_id":"3159","city_id":"0","name":"\u042f\u043c\u0430\u043b\u043e-\u041d\u0435\u043d\u0435\u0446\u043a\u0438\u0439 \u0410\u041e"}]<pre>An Error occurred while handling another error:
yii\web\HeadersAlreadySentException: Headers already sent in /home/mad/www/ar/ar/frontend/controllers/TradeController.php on line 382. in /home/mad/www/ar/ar/vendor/yiisoft/yii2/web/Response.php:366
Stack trace:
#0 /home/mad/www/ar/ar/vendor/yiisoft/yii2/web/Response.php(339): yii\web\Response-&gt;sendHeaders()
#1 /home/mad/www/ar/ar/vendor/yiisoft/yii2/web/ErrorHandler.php(135): yii\web\Response-&gt;send()
#2 /home/mad/www/ar/ar/vendor/yiisoft/yii2/base/ErrorHandler.php(111): yii\web\ErrorHandler-&gt;renderException(Object(yii\web\HeadersAlreadySentException))
#3 [internal function]: yii\base\ErrorHandler-&gt;handleException(Object(yii\web\HeadersAlreadySentException))
#4 {main}


че за хрень подскажите пожалуйста.
andku83
Сообщения: 988
Зарегистрирован: 2016.07.01, 10:24
Откуда: Харьков

Re: yii2 2.0.14 yii\web\HeadersAlreadySentException

Сообщение andku83 »

mader писал(а): 2018.03.21, 02:07 че за хрень подскажите пожалуйста.
покажите свой action, скорее всего вы не устанавливаете формат ответа.
Ответить