Pesan ERROR “cannot modify header information – headers already sent by”
Bagi yang senang dengan PHP programming tentu sering mendapatkan pesan error seperti ini:
cannot modify header information – headers already sent by (output started at /var/www/blablabla.php:26
Apa sih sebabnya?
Penyebabnya adalah, ada dua elemen program ‘header’ dalam satu halaman yang diload oleh web browser anda. Misal:
<?php
.
.
.
.
.
if($a){
header(“Location:satu.php”);
}
.
.
?>
dan ketika dijalankan muncul hal tersebut:
cannot modify header information – headers already sent by (output started at /var/www/blablabla.php:26
Solusinya cukup mudah, yang pertama adalah agak rumit:
Hilangkan semua spasi pindah baris,
Atau:buatlah dalam awal halaman utama yang meload dengan perintah:
<?php
ob_start();
.
.
.
.
.
.
?>
Mengapa?
Karena dengan ob_start() atau output buffer start, jika dibuka, maka PHP akan membuka buffer untuk menyimpan sementara dalam memori. Maka jika idealnya header dalam sebuah halaman seharusnya hanya satu, dan karena kita tidak tahu apa yang akan men-generate header, maka akan sangat lebih aman jika untuk kasus ini diberikan ob_start(); pada awalnya.
CMIIW
pesan error itu muncul pas ganti theme, Gan. Kira2 temanya yg salah or gimana ya? Trus contoh script php di atas dari file apa ya? Oya ini errornya di hostingan, klo di localhost g masalah.
Makasi sblmnya…
Makasi mas Bimo tips nya udah dipake and berhasil. skr pesan error tuh gak nongol2 lg deh. brilliant! 8)
Alhamdulillah sudah berguna postingan ini. saya dulu dikasih tahu orang tentang hal ini, maka saya juga ngasih tahu semua orang hehehehe..
Untuk CMS WordPress memang ob_start() nya dikasih di halaman index dari templatenya..
Semoga senantiasa sukses ya mas..
sangat bermanfaat, terima kasih atas sharingnya..
Alhamdulillah, senang bisa sangat berguna.. Semoga saya bisa share lagi lain kali
Makasih Gan.. betul2 manjur sharingnya.. dengan ob_start() stress-ku hilang..
Terima kasih bung Bimosaurus
makasish mas,,
mantap tips nya dah stres aq,heee
mantap ob_start()…
terimakasih mas.. mantap puoll
Thank you..
ternyata cuma karena <?php tidak paling atas… bisa karena spasi/garis baru atau ada sintak2 yg menulis (echo,write,dll).
thanks bro….
matur suwun
makasi banget saya ada masalah pada functionya saya pasang ini jalan mulus………..
makasih kodenya jalan mulus..
Untuk errornya hilang.. namun di koding web saya, masih ada error lagi..
Saya coba aktifasi google sitemap.xml di website http://www.parisbali-estate.com/sitemap.xml dan selalu muncul error yang saya tidak mengerti solusinya.
Mohon dibantu gan..
ini pake CI ya? sepertinya masalah terjadi di salah satu class nya.. sedang saya kurang tahu ada properti dan method apa saja yang ada di controller menu. silakan ditanggapi
thx banget, bantuin 2 jam penyelesaian.. like this!!
makasih banget.. mas bro…!!!!!!
Wow..great solution I have it…now it’s working while export to XLS from Linux server….thank you so much Mr. Bimo..!! (jempol 2 deh!!)
Wow.. great share..!!
solusi juga untuk redirect pada permasalahan header send dalam sub-domain..
Thanks gan..!!!
trimakasih banyak.
saya masih masih ada eror di site:
Warning: parse_ini_file() has been disabled for security reasons in /home/h70278/public_html/components/com_joomlastats/joomlastats.inc.php on line 171.
kira kira kenapa ya ? apakah ada solusinya?
sangat membantu mas,makasih
thanks yak bro…..
sebenernya ada singkong goreng nih disini…..
Thanks bro amat sangat membantu, ,wkkwwk
siipp, thanks bro..kebanyakan kasus error redirecting terjadi memang di hostingan baik itu menggunakan cms ataupun framework, namun dengan menggunakan output buffer start ini cukup membantu sebagai trik penyelesain kasus yg terjadi pada redirecting script, sudah ane terapkan langsung di server hosting dan hasilnya ..so far so good ( mantabs )
terima kasih sangat membantu
sama sama mbak 🙂
kak kalau udah ditambahin ob_start error nya nggk keluar tapi datanya tidak mau ke database kenapa ya?
Terima kasih sob, membantu sekali