Apa itu error Cannot Modify Header Information
Error ‘Cannot modify header information - Headers already send’ adalah pesan kesalahan yang terjadi dalam bahasa pemrograman PHP. Pesan error ini muncul ketika script Anda mencoba mengubah header HTTP setelah header tersebut terkirim ke browser.
Seperti yang kita tahu, header HTTP adalah bagian dari respons web yang mengandung informasi tentang jenis konten, kode status, dan sebagainya. Setelah header dikirim, Anda tidak dapat mengubahnya lagi.
Berikut adalah contoh error cannot modify header information pada script php native :
Penyebab Error Cannot Modify Header
- Output sudah dimulai
Jika Anda sudah mencetak atau mengirimkan output ke browser sebelum mencoba mengubah header, maka PHP tidak akan dapat mengubah header lagi. Pastikan Anda tidak memiliki perintah echo, print, atau konten HTML sebelum perintah yang mencoba mengubah header.
- Spasi atau karakter tidak terlihat
Kadang-kadang, spasi atau karakter tak terlihat (seperti spasi atau baris baru) yang muncul sebelum atau sesudah tag PHP dapat menyebabkan masalah ini. Pastikan tidak ada spasi atau karakter tak terlihat di luar tag PHP.
- Dua header yang berulang
Mengirimkan header dengan nama yang sama dua kali akan menyebabkan kesalahan ini. Pastikan Anda hanya mengirimkan header dengan nama yang sama sekali.
- Kode sebelum sesi dimulai
Jika Anda menggunakan sesi dengan PHP, pastikan Anda memanggil session_start() sebelum mengirimkan header. Fungsi ini harus dipanggil sebelum output apa pun.
- Penggunaan fungsi Header() yang salah
Pastikan Anda menggunakan fungsi header() dengan benar. Anda harus memastikan bahwa tidak ada output sebelumnya dan bahwa fungsi ini dipanggil sebelum mengirimkan konten HTML.
Solusinya
Untuk mengatasi error ini, Anda dapat menambahkan script ob_start();
setelah tag <?php pada index.php di root website atau pada file yang mengalami error
Setelah itu, silahkan Anda melakukan pengecekan kembali pada halaman yang error.
Jika setelah melakukan perubahan tersebut Website masih mengalami error “Cannot modify header information – headers already sent“, Anda juga perlu melakukan pengecekan pada versi PHP yang digunakan. Pastikan versi php yang di set di hosting, sesuai dengan sistem requirement PHP dari script Anda.