Apakah saat ini Anda sedang mengalami error “Cannot Modify Header Information” pada website? Simak panduan ini untuk mengetahui apa itu error Cannot Modify Header Information hingga solusinya.
Apa itu error Cannot Modify Header Information
Error ‘Cannot modify header information’ 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 CodeIgniter 3.
Penyebab error cannot modify header information
Beberapa penyebab umum terjadinya error “Cannot modify header information” sebagai berikut:
1. 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.
2. Spasi atau karakter tak 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.
3. 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.
4. 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.
5. 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
Error ini sering terjadi pada website yang menggunakan custom PHP, seperti CodeIgniter dan Laravel. Namun tidak jarang, error ini juga ditemui pada website berbasis CMS seperti WordPress dan Joomla.
Berikut adalah beberapa solusi yang dapat Anda gunakan, untuk mengatasi error Cannot modify header information.
Cara 1. Hilangkan spasi sebelum tag pembuka <?php
Tanda spasi sebelum tag pembuka PHP akan menyebabkan munculnya error tersebut. Untuk itu pastikan baris pertama pada script PHP Anda tidak terdapat jarak/spasi sebelum tag <?php
Cara 2. Tambahkan script ob_start()
Penyebab lain yaitu terdapat script “header:location..” yang memiliki output echo maupun script html. 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.
Demikian panduan dari Rumahweb, selamat mencoba dan semoga bermanfaat!