Cannot send headers; headers already sent

[10 ноября 2016 г.]    Российская сборка Magento 2.49.12
Magento 2: модули и услуги
#1 Murzik_dude
  • Группа: Пользователь
  • Сообщений: 21
  • Регистрация: 29.10.2012

15.11.2012 11:30

после авторизации пользователя (кастомным модулем) при перенаправлении выдает ошибку
Cannot send headers; headers already sent in Y:\home\mysite.net\www\app\code\community\Proactivity\SocialLogin\controllers\IndexController.php, line 60";i:1;s:1331:"#0 Y:\home\mysite.net\www\lib\Zend\Controller\Response\Abstract.php(148): Zend_Controller_Response_Abstract->canSendHeaders(true)
подскажите причину и способ устранения этой ошибки?

#2 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8885
  • Регистрация: 20.02.2010

15.11.2012 11:33

Причиной сбоя Cannot send headers; headers already sent являются правки кода некачественным программистам, что приводит интерпретатор PHP к сбою и отсылке браузеру диагностических сообщений. А после отсылки браузеру диагностических сообщений, которые являются телом ответа HTTP, согласно протоколу HTTP, отсылать заголовки HTTP уже нельзя.

#3 Murzik_dude
  • Группа: Пользователь
  • Сообщений: 21
  • Регистрация: 29.10.2012

15.11.2012 11:39

подскажите пожалуйста где происходит сбой, вот код ошибки

a:5:{i:0;s:151:"Cannot send headers; headers already sent in Y:\home\mysite.net\www\app\code\community\Proactivity\SocialLogin\controllers\IndexController.php, line 60";i:1;s:1331:"#0 Y:\home\mysite.net\www\lib\Zend\Controller\Response\Abstract.php(148): Zend_Controller_Response_Abstract->canSendHeaders(true)
#1 Y:\home\mysite.net\www\app\code\core\Mage\Core\Controller\Response\Http.php(105): Zend_Controller_Response_Abstract->setRedirect('http://www.isol...', 302)
#2 Y:\home\mysite.net\www\app\code\core\Mage\Core\Controller\Varien\Action.php(672): Mage_Core_Controller_Response_Http->setRedirect('http://www.isol...')
#3 Y:\home\mysite.net\www\app\code\community\Proactivity\SocialLogin\controllers\IndexController.php(85): Mage_Core_Controller_Varien_Action->_redirect('*/*/')
#4 Y:\home\mysite.net\www\app\code\core\Mage\Core\Controller\Varien\Action.php(420): Proactivity_SocialLogin_IndexController->vkAction()
#5 Y:\home\mysite.net\www\app\code\core\Mage\Core\Controller\Varien\Router\Standard.php(250): Mage_Core_Controller_Varien_Action->dispatch('vk')
#6 Y:\home\mysite.net\www\app\code\core\Mage\Core\Controller\Varien\Front.php(176): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#7 Y:\home\mysite.net\www\app\code\core\Mage\Core\Model\App.php(349): Mage_Core_Controller_Varien_Front->dispatch()
#8 Y:\home\mysite.net\www\app\Mage.php(640): Mage_Core_Model_App->run(Array)
#9 Y:\home\mysite.net\www\index.php(81): Mage::run('', 'store')
#10 {main}";s:3:"url";s:317:"/sociallogin/index/vk?";s:11:"script_name";s:10:"/index.php";s:4:"skin";s:7:"default";}

#4 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8885
  • Регистрация: 20.02.2010

15.11.2012 11:42

Вам же сказали:
"Cannot send headers; headers already sent in Y:\home\mysite.net\www\app\code\community\Proactivity\SocialLogin\controllers\IndexController.php, line 60
Вот именно там и происходит сбой.

#5 Murzik_dude
  • Группа: Пользователь
  • Сообщений: 21
  • Регистрация: 29.10.2012

15.11.2012 11:45

можно каким-то образом этот сбой отловить, дело в том что, при авторизации пользователя, выдается эта ошибка, но при открытии страницы сайта он авторизирован

#6 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8885
  • Регистрация: 20.02.2010

15.11.2012 11:47

Можно.
Надо оплатить труд программиста, он посмотрит и осмыслит конкретно указанную выше 60-ю строку конкретно указанного выше файла community\Proactivity\SocialLogin\controllers\IndexController.php и исправит за ваши деньги бесплатно скачанный вами модуль.

#7 Murzik_dude
  • Группа: Пользователь
  • Сообщений: 21
  • Регистрация: 29.10.2012

15.11.2012 11:53

понял в чем была ошибка, я делал вывод на страницу текста (echo 'текст';), что и послужило отсылке тела ответа HTTP.
это так?

#8 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8885
  • Регистрация: 20.02.2010

15.11.2012 11:57

Может быть.
Любая отсылка тела ответа HTTP браузеру приводит к тому, что заголовки HTTP отсылать уже нельзя.

Поделиться темой: