Cannot modify header information - headers already sent


(lazikar) #1

Jest to bardzo częsty błąd w php Nuke.

Warning: Cannot modify header information - headers already sent by (output started at /home/users/xxx/xxx/xxx/header.php:32) in /home/users/xxx/xxx/xxx/includes/sessions.php on line 222

Dotyczy on najczęściej plików: - page_header.php - session.php - header.php Najprostszym sposobem pozbycia się tego - brzydko wyglądającego błędu jest wstawienie przed linijki, które go powodują znaku @. Lepszym posobem jest włączenie buforowania wyniku skryptu na serwerze i wysyłanie do przeglądarki całej strony:otworz mainfile.php

$phpver = explode('.', $phpver);

$phpver = $phpver[0].$phpver[1];

i przed tym dodaj:

ob_start();

ob_implicit_flush(0);

Pomaga w 100% i dodatkowo troche przyśpiesza generowanie strony na serwerze. Jeżeli błąd ten pojawia się m.in w forum, pomóc może także jedna z poniższych sztuczek: metoda 1. Otwórz plik mainfile.php i znajdź:

42 = phpversion();

if (42 >= '4.0.4pl1' && strstr(Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1),'compatible')) {

    if (extension_loaded('zlib')) {

        ob_end_clean();

        ob_start('ob_gzhandler');

    }

} else if (42 > '4.0') {

zamień na:

42 = phpversion();

if (42 >= '4.0.4pl1')

{

    ob_start('ob_gzhandler');

}else if (42 > '4.0') {

metoda 2. Dodaj do pliku .htaccess znajdującego się w katalogu głównym Twojego Nuke'a:

PHP_FLAG output_buffering on

lub jeśli masz dostęp do pliku php.ini to dopisz w nim:

output_buffering=on;

Źródło: http://phpnuke.org.pl/

********************************************

Temat zamknięty.

Jeżeli uważasz, że któryś z tematów zasługuje na to, aby znalazł się tu link do niego skontaktuj się z jednym z Moderatorów i podaj mu swoją propozycje za pomocą PW.

W wiadomości PW podać należy linka do Tematu.