Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> ob_start() i błąd headers already sent, ob_start() i błąd headers already sent
johnnyno
post
Post #1





Grupa: Zarejestrowani
Postów: 37
Pomógł: 0
Dołączył: 21.02.2004

Ostrzeżenie: (0%)
-----


Witam,

mam dziwny błąd. Są dwa skrypty php:

test.php:
  1. <?php
  2.  
  3. ini_set('display_errors', 1);
  4.  
  5. require_once('header1.inc.php');
  6.  
  7.  
  8. ?>

oraz plik header1.inc.php:
  1. <?php
  2. ?>

Kiedy odpalam w przeglądarce test.php otrzymuję błąd:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at header1.inc.php:1) in test.php on line 8

Plik header1.inc.php nie ma żadnej treści bo sprawdzałem nawet w notatniku, więc dlaczego jakaś treść niby została wysłana w tym pliku w lini 1 (output started at header1.inc.php:1) (IMG:http://forum.php.pl/style_emoticons/default/blinksmiley.gif) (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

Jeżeli wywołam funkcję ob_start() w pliku test.php przed require_once:
  1. <?php
  2.  
  3. ini_set('display_errors', 1);
  4.  
  5.  
  6. require_once('header1.inc.php');
  7.  
  8.  
  9. ?>

wtedy wszystko działa (IMG:http://forum.php.pl/style_emoticons/default/sadsmiley02.gif)
Go to the top of the page
+Quote Post
kasiunia
post
Post #2





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 28.02.2007

Ostrzeżenie: (0%)
-----


ob musi byc wlaczane w plikach nadrzednych, nie mozna wlaczac go w plikach includowanych
Go to the top of the page
+Quote Post
johnnyno
post
Post #3





Grupa: Zarejestrowani
Postów: 37
Pomógł: 0
Dołączył: 21.02.2004

Ostrzeżenie: (0%)
-----


Ale na innym serwerze to działało wcześniej. Dopiero po przeniesieniu softu na inny hosting sie posypało.
Może ma to związek z ustawieniami sesji na serwerze, bo u mnie lokalnie na kompie mogę wysłać jakąś treść przed session_start():

  1. <?php
  2. echo 'xxxxx';
  3. ?>

i wszystko dziala.
Go to the top of the page
+Quote Post
kosheen2k
post
Post #4





Grupa: Zarejestrowani
Postów: 84
Pomógł: 0
Dołączył: 9.03.2006
Skąd: z fotela ;p

Ostrzeżenie: (0%)
-----


Drogi kolego, podczas przenoszenia na inny serwer mógł zostać zmieniony nagłówek pliku... najlepiej to ściągnij sobie programik pod tytułem Notepad++ otwórz plik header1.inc.php sprawdź jaki ma kodowanie znaków - w prawym dolnym rogu będzie napisane jakie kodowanie znaków masz, jeśli coś jest zwalone z headerami to może być właśnie to, jeśli coś odezwij się do mnie na mój numer gg i pomogę.


Pozdrawiam.

Ten post edytował kosheen2k 21.03.2007, 10:48:14
Go to the top of the page
+Quote Post
szagi3891
post
Post #5





Grupa: Zarejestrowani
Postów: 109
Pomógł: 9
Dołączył: 12.03.2007
Skąd: kraków/tarnobrzeg/baranów/suchorzów

Ostrzeżenie: (0%)
-----


ob_start nie koniecznie musi być w pliku głównym. Ja stosuje ją z powodzeniem w pliku konfiguracyjnym który jest dołąnczany do głównych plików poszczególnych podstron i wszystko działa poprawnie. Prawdopodobnie jak kolega zauważył wcześniej znajdują się jakieś dane wysyłane do przeglądarki przed funkcją ob_start
Go to the top of the page
+Quote Post
johnnyno
post
Post #6





Grupa: Zarejestrowani
Postów: 37
Pomógł: 0
Dołączył: 21.02.2004

Ostrzeżenie: (0%)
-----


Wielkie dzieki! Cały czas używałem Notepad++ ale nie wiedzialem ze to może byc problem z kodowaniem. Tym bardziej że jak otwieralem kod header1.inc.php w zwyklym notatniku to zadnych podejrzanych znaków nie było.
Ale działa. Jeszcze raz dzieki!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 01:22