Ihmettelen, että mikäköhän ongelma näissä PHP headereissä on.
Omalla koneella(käytössä LAMPP ja linux)
koodi:
<html> <?php var_dump(headers_sent()); ?>
Dumppaa arvon false.
Sitten taas toisella koneella, jossa xampp käytössä ja windows, niin kyseessä oleva koodin pätkä
dumppaa arvon true, vaikka headereita ei pitäisi olla lähetetty.
Luulen, että sivun koodaus(tässä tilanteessa UTF-8) vaikuttaa asiaa, vai mikäköhän lie?
<?php var_dump(headers_sent()); ?>
Paulus M kirjoitti:
Luulen, että sivun koodaus(tässä tilanteessa UTF-8) vaikuttaa asiaa
Hyvä arvaus. Tiedostossas lienee byte-order mark alussa, mikä aiheuttaa headerien lähettämisen. Säädä editoris niin, ettei sitä tallenneta, se ei oo pakollinen.
Kotikoneellas taas on output buffering päällä ja homma pelaa siksi.
Ensimmäisen koodin kylläkin nimenomaan kuuluu lähettää otsikot (eli headers_sent() == true
), koska sivun alussa on tulostettavaa HTML:ää.
Kiitos vastauksista,
Metabolix, se ihmetyttääkin, että miksi oma kone on juuri päinvastainen, eli ei kinä halua antaa truee, eli voin rauhassa tehda koodin:
<html> <?php header("Location: http://www.google.com"); ?>
Ja jostain syystä ainakin aiemmin se meni googleen, nyt en voin enää varmistaa asiaa koska en ole omalla koneella.
Aihe on jo aika vanha, joten et voi enää vastata siihen.