Avatar billede Sweet1 Nybegynder
04. januar 2004 - 02:43 Der er 23 kommentarer og
1 løsning

headers already sent - Please help

Hejsa

Jeg er ved at sætte et photoalbum op til at køre så jeg kan bruge det, men får nogle fejl, håber nogle kan hjælpe, fejlene er :

Warning: Cannot add header information - headers already sent by (output started at /home/michael/public_html/photo/yappa-ng/config.inc.php:623) in /home/michael/public_html/photo/yappa-ng/languages/language_selection.inc.php on line 319

Warning: Cannot add header information - headers already sent by (output started at /home/michael/public_html/photo/yappa-ng/config.inc.php:623) in /home/michael/public_html/photo/yappa-ng/themes/themes_support.inc.php on line 76

Har fået af vide at det måske er http headers , eller noget sessions opsætning i php/apache som ikke spiller max, eller hvad ??

Mvh

Sweet1
Avatar billede bearhugx Nybegynder
04. januar 2004 - 02:45 #1
man får denne fejl, hvis man har sendt noget indhold _inden_ man kalder session_start

Derfor så tjeck lige om du kommer til at outputte noget inden session_start() bliver kaldt
Avatar billede bearhugx Nybegynder
04. januar 2004 - 02:46 #2
(der er også andre situationer, hvor man kan få denne fejl, end bare ved sessions - men i 95% af alle tilfælde er dette output før session_start() som er problemet)
Avatar billede detox Nybegynder
04. januar 2004 - 02:47 #3
Og det er det her:
output started at /home/michael/public_html/photo/yappa-ng/config.inc.php:623
Avatar billede jaw Nybegynder
04. januar 2004 - 02:48 #4
Prøv a sætte ob_start(); som det aller første...
Avatar billede bearhugx Nybegynder
04. januar 2004 - 02:51 #5
jaw >> men der skal så også huskes at sættes ob_flush() senere, ikke ?
Avatar billede jaw Nybegynder
04. januar 2004 - 02:53 #6
Ikke nødvendigvis... Den har jeg aldrig brugt...
Avatar billede Sweet1 Nybegynder
04. januar 2004 - 02:58 #7
Prøver lige at kigge lidt på koden .....
Avatar billede bearhugx Nybegynder
04. januar 2004 - 02:58 #8
det gør den måske automatisk, når den når slutningen af parsingen af PHP filen, who knows....

Men på PHPs manual-sider vises alle eksempler med et ob_end_flush() til slut... Tror nok at det er best practice
Avatar billede bearhugx Nybegynder
04. januar 2004 - 03:00 #9
Avatar billede jaw Nybegynder
04. januar 2004 - 03:00 #10
Måske, måske... Det andet virker for mig :)
Avatar billede bearhugx Nybegynder
04. januar 2004 - 03:03 #11
jaw + sweet1 >> der er 3 kommentarer til
  http://dk2.php.net/manual/en/function.ob-end-flush.php
som er ret informative med hensyn til om man skal bruge ob_end_flush eller ej
Avatar billede Sweet1 Nybegynder
04. januar 2004 - 03:06 #12
Hmm output før session_start(), i /home/michael/public_html/photo/yappa-ng/config.inc.php:623 er det i allersidste linie som lyder -> require("config_private.inc.php");

Så det må da være efter session_start() ?
Avatar billede jaw Nybegynder
04. januar 2004 - 03:08 #13
Jep, ser jeg... Men de skriver vel også, at det i de fleste tilfælde er lige meget med ob_end_flush() ?

Er lidt træt, så meget muligt jeg misforstår det :)
Avatar billede jaw Nybegynder
04. januar 2004 - 03:08 #14
Du kan bare indsætte det lige før require
Avatar billede bearhugx Nybegynder
04. januar 2004 - 03:12 #15
er også træt, så jeg går til ro nu - skal op igen kl. 8 - så dette var aldrig tiltænkt at være en "vær-på-eksperten-hele-natten"-nat...

sweet1 >> jeg håber du får det løst, ellers er jeg på igen i morgen eftermiddag...

en god nat til jer alle  :-)
Avatar billede jaw Nybegynder
04. januar 2004 - 03:13 #16
Bearhugx - Fair nok, sov godt :)
Avatar billede bearhugx Nybegynder
04. januar 2004 - 03:13 #17
her er lige lidt go'nat læsning, hvis man vil vide mere om output buffering ( som åbenbart er mere end ob_start() og ob_end_flush() )

http://www.devshed.com/Server_Side/PHP/OutputBuffering/page1.html
Avatar billede Sweet1 Nybegynder
04. januar 2004 - 03:14 #18
Hmmm det flyttede fejlen fra 623 til 319 sååååg
Avatar billede Sweet1 Nybegynder
04. januar 2004 - 03:27 #19
Hmm måske jeg ozz skulle få sovet lidt, man tænker bedre når man ikke er træt, men ven som ejer serveren php'en kører på er ozz gået kold nu LOL.

Fortsættelse følger efter søvn.

nighty alle
Avatar billede roenving Novice
04. januar 2004 - 03:27 #20
Du har sendt noget, som opfattes som en del af html-dokumentet før du kalder en header-funktion ...
Avatar billede jaw Nybegynder
04. januar 2004 - 03:53 #21
Nemmerlig...
Avatar billede fangel Nybegynder
04. januar 2004 - 10:07 #22
Header fejlen skyldes opbygningen af HTTP-protokollen... Output Buffering (OB) er overkill på LANGT de fleste script (men mindre man kombinere det med custum-error-handling via output-callback funktioner)

Protokollen lydder som sådan
---
headere

indhold
---

dvs først ALLE headere, dernæste ALT indhold, ikke blandet.... det er derfor du får fejl: der bliver først sendt noget tekst til browseren, og SÅ kaldt header() / session_start() / cookie() (det er de tre funktioner som sender headere)... det generer en "output already startet" warning...

det der skal gøres før det virker igen er at omrokkere i scriptet så ALT der kræver headers kommer øverst i sciptet (før ALT output), og så vil dette fjerne fejlen...

Det OB gør er af "fange" alt tekst der bliver sendt ud til browseren og smide dette ind i en variabel - når der så kommer en header er der intet sendt, fordi det er blevet opfanget af OB og puttet i en variabel, så afviklingen af scriptet sluttet udskrives alt output så, og på den måde er HTTP-protokollen opfyldt !

Det siger sig selv at det er overkill at bruge dette da serveren jo skal tænke væsenligt mere over hver eneste side, når du kunne rette det ved en simpel omrokkering af scriptet !

Morten
Avatar billede Sweet1 Nybegynder
06. januar 2004 - 16:30 #23
Okay, det vil jeg så lige kigge på om jeg kan finde ud af at rokere om på det, for det er nemlig ikke noget jeg har kodet.
Avatar billede Sweet1 Nybegynder
26. januar 2004 - 22:46 #24
Hmm jeg har rodet rundt med det i noget tid nu, men har ik retti fået det til at virke.

/Sweet1
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester