Ошибка программного обеспечения магазина Неперехваченное исключение «Zend_Controller_Response_Exception» с сообщением «Невозможно отправить заголовки; заголовки уже отправлены, строка 0'

Я недавно установил shopware php framework 5.1.5 (новая БД, новые файлы). Но когда я хочу что-то изменить в бэкэнде и нажимаю «Сохранить», я получаю следующую ошибку: PHP Fatal error: Uncaught exception «Zend_Controller_Response_Exception» с сообщением «Cannot send headers; заголовки уже отправлены, строка 0'

Я знаю, что обычной причиной этой ошибки является отправка символа перед заголовком. Но в этом случае у меня есть строка «0», и когда я смотрю на файл «Abstract.php», тег «{?php» правильный (без символов раньше, кодировка выглядит нормально), а в конце файла нет закрывающего тега здесь.

Любые идеи, что это еще может быть или как я могу прибить проблему? Спасибо

PHP Fatal error:  Uncaught exception 'Zend_Controller_Response_Exception'   with message 'Cannot send headers; headers already sent in , line 0' in /var/www/vhosts/skate.ch/dev.skate.ch/shop/engine/Library/Zend/Controller/Response/Abstract.php:323
Stack trace:
#0 /var/www/vhosts/skate.ch/dev.skate.ch/shop/engine/Library/Zend/Controller/Response/Abstract.php(115): Zend_Controller_Response_Abstract->canSendHeaders(true)
#1 /var/www/vhosts/skate.ch/dev.skate.ch/shop/engine/Library/Enlight/Controller/Plugins/Json/Bootstrap.php(123): Zend_Controller_Response_Abstract->setHeader('Content-type', 'application/jso...', true)
#2 [internal function]: Enlight_Controller_Plugins_Json_Bootstrap->onPostDispatch(Object(Enlight_Controller_ActionEventArgs))
#3 /var/www/vhosts/skate.ch/dev.skate.ch/shop/engine/Library/Enlight/Event/Handler/Default.php(91): call_user_func(Array, Object(Enlight_Controller_ActionEventArgs))
#4 /var/www/vhosts/skate.ch/dev.skate.ch/shop/engine/Library/Enlight/Event/EventManager.php(213): Enlight_Event_Handler_Default- in /var/www/vhosts/skate.ch/dev.skate.ch/shop/engine/Library/Zend/Controller/Response/Abstract.php on line 323

person megloff    schedule 20.08.2016    source источник
comment
Я добавил {?php, потому что символ скобки ‹ кажется заблокированным из-за переполнения стека   -  person megloff    schedule 20.08.2016


Ответы (1)


Я мог решить проблему. Причиной была другая ошибка соотв. «предупреждение», которое я сначала подумал, что оно не важно и может быть проигнорировано.

[20-Aug-2016 11:04:26 CET] PHP Deprecated:  Automatically populating $HTTP_RAW_POST_DATA is deprecated and will be removed in a future version. 
To avoid this warning set 'always_populate_raw_post_data' to '-1' in php.ini and use the php://input stream instead. in Unknown on line 0

После того, как я ввел в php.ini следующую настройку, ошибка в отношении заголовков исчезла.

 always_populate_raw_post_data=-1

Похоже, что предупреждение о $HTTP_RAW_POST_DATA отправляется на стандартный вывод до того, как будут отправлены заголовки, что, конечно же, приводит к ошибке относительно заголовков.

person megloff    schedule 21.08.2016