Ошибка Codeigniter () - PullRequest
       5

Ошибка Codeigniter ()

0 голосов
/ 14 сентября 2011

Я столкнулся с этой проблемой в своем приложении Codeigniter:

A PHP Error was encountered
Severity: Warning
Message: Cannot modify header information - headers already sent by (output started at /application/controllers/training.php:1)
Filename: libraries/Session.php
Line Number: 671

Я проверял пробелы и не отправлял заголовки.

ЕДИНСТВЕННЫЙ способ появления этой ошибки - это обновление файлов представлений и контроллеров.

Мой код работал нормально, пока я не обновил некоторые файлы, тогда ошибка (выше) не исчезает.

Когда я очищаю кеш и снова захожу, ошибка не отображается.

Кто-нибудь знает почему?

Ответы [ 3 ]

2 голосов
/ 14 сентября 2011

Может быть UTF-8 BOM?Попробуйте сохранить training.php без спецификации (если есть)

0 голосов
/ 14 сентября 2011

Я проверил пробелы, нет.Я еще не использую сессию, я устанавливаю только переменные сессии в сценарии входа.ЕДИНСТВЕННОЕ место, где я его использую.

training.php :

<?php

class Training extends CI_Controller
{

    public function index()
    {
        $data['heading'] = 'Træning';
        $data['smallheading'] = 'Registre dine træningsture og hold styr på dem.';
        $this->load->view('header_view', $data);
        $this->load->view('training_view');
        $this->load->view('footer_view');
    }

}

В разных представлениях отображаются только переменные php и HTML.

0 голосов
/ 14 сентября 2011

Я не уверен, почему он может появляться и исчезать таким образом, но вы отправляете вывод в /application/controllers/training.php в первой строке, что означает, что любой скрипт, запущенный после этого, не может изменить заголовок.По сути, что-то вызывает библиотеку сессий CI способом, который модифицирует заголовок, но заголовок был отправлен.Было бы полезно, если бы мы могли увидеть первую строку training.php.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...