/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Warning: Cannot add header information - h~
Fra : Morten Lehrmann


Dato : 20-03-04 10:13

Situationen er den:

Jeg har to servere, som kører noget hjemmelavet PHP-login.

Server 1 kører PHP 4.2.2 (RedHat 7.2, Apache/1.3.27). Det er på
et b-one webhotel.

Server 2 kører PHP 4.3.1 (SuSE 8.2, Apache/1.3.27). Den kører
på min egen maskine.

De kører nøjagtigt samme PHP-kode.

Problemet er at jeg på server 1 får fejlen
Warning: Cannot add header information - headers already sent
i forbindelse med login.
Denne fejl får jeg IKKE på server 2.

Jeg bør vel kunne udelukke at fejlen skal søge i PHP-koden, da
den er ens på begge servere?

Kan det en fejl i PHP 4.2.2? Eller kan det være noget i
opsætningen af PHP på server 1?

Pfht.


Mvh.
Morten


--
SuSE Linux 8.2 and
Debian Linux for i386 and Alpha -o)
http://counter.li.org - User #212543 /\
My email is a spam trap. _\_v

 
 
Emil Rasmussen (20-03-2004)
Kommentar
Fra : Emil Rasmussen


Dato : 20-03-04 10:42

Morten Lehrmann wrote:

> Kan det en fejl i PHP 4.2.2? Eller kan det være noget i
> opsætningen af PHP på server 1?

Du forsøger at lave en cookie/session/redirect _efter_ du har sendt
noget html til browseren. Du har to muligheder:

1) flyt rundt på din php-kode sådan at du ikke sender noget til
browseren før du forsøge at tilføje en header.

2) hvis du har mulighed for at indsætte følgende i .htaccess filen på
server 1, så forsvinder problemet:

php_value output_buffering = 4096

Det der så sker, er at alt output (html) bliver lagret, indtil scriptet
terminere, og derfor kan der sendes header informationer ind imellem
html-output.

Læs evt. mere her <http://dk.php.net/manual/en/ref.outcontrol.php>

Mvh Emil
--
Emil Rasmussen
http://noget.net

Poul-Erik Andreasen (22-03-2004)
Kommentar
Fra : Poul-Erik Andreasen


Dato : 22-03-04 18:26

On 20 Mar 2004 10:12:34 +0100
Morten Lehrmann <morten@lehr.invalid> wrote:

> Situationen er den:
>
> Jeg har to servere, som kører noget hjemmelavet PHP-login.
>
> Server 1 kører PHP 4.2.2 (RedHat 7.2, Apache/1.3.27). Det er på
> et b-one webhotel.
>
> Server 2 kører PHP 4.3.1 (SuSE 8.2, Apache/1.3.27). Den kører
> på min egen maskine.
>
> De kører nøjagtigt samme PHP-kode.
>
> Problemet er at jeg på server 1 får fejlen
> Warning: Cannot add header information - headers already sent
> i forbindelse med login.
> Denne fejl får jeg IKKE på server 2.
>
> Jeg bør vel kunne udelukke at fejlen skal søge i PHP-koden, da
> den er ens på begge servere?
>
> Kan det en fejl i PHP 4.2.2? Eller kan det være noget i
> opsætningen af PHP på server 1?

Hvis du bruger header i php så skal "<?php" tegnet der
markerer at man skifter fra over til PHP være det

ALLER ALLER ALLER første i koden overhovedet.

Hvis der bare er et enkelt mellemrum før "<?php"
sekvensen har apache allerede afsend en header først.

Så hvis de to filer er copy/pasted så undersøg lige om der
skulle have sneget sig et mellemrum ind på redhat maskinen.



--
Poul-Erik Andreasen

http://www.linux-service.dk
http://www.pea.dk

Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408931
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste