MWN Website
ContactHome

Pesan kesalahan: Headers already sent

Untuk berdiskusi dengan sesama programer dan peminat PHP, bergabunglah dengan milis id-php, milis PHP Indonesia paling aktif sejak 2002. Untuk subscribe, kunjungi halaman web milis atau kirimkan email kosong ke id-php-subscribe@yahoogroups.com.

Masalah

Saat menjalankan skrip PHP, di browser muncul pesan kesalahan dengan teks "headers already sent", contoh:

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already 
sent by (output started at /home/sloki/user/t10000/sites/example.com/www/index.php:5

Penjelasan/solusi

Skrip PHP Anda telah "mencetak sesuatu". Seperti diketahui, dalam sebuah respon HTTP, header harus dikirim sebelum bodi. Jadi jika sudah mencetak sesuatu (ke bodi), maka header juga pasti sudah dikirimkan oleh PHP sebelum bodi. Sehingga hal-hal yang ingin kita lakukan yang melibatkan perubahan di header HTTP, misalnya mengeset cookie, session, mengirimkan header tambahan seperti Location, dll tidak lagi bisa dilakukan.

"Mencetak sesuatu" ini bisa karena Anda sengaja/tidak sengaja memberikan perintah echo atau print, atau ada kesalahan/warning dalam skrip sehingga PHP mencetak pesan kesalahan/warning, atau bisa juga karena ada baris kosong atau kode HTML yang ada di file sebelum skrip PHP Anda. Karena itu pastikanlah bahwa tag pembuka skrip PHP:

<?php

ada di baris pertama kolom pertama. Jangan ada teks lain atau baris kosong sebelumnya.

Alternatif solusi lain adalah menghidupkan output buffering, sebuah fitur di PHP yang menyebabkan PHP menyimpan dulu di buffer semua perintah mencetak ke bodi sampai skrip PHP selesai (atau sampai PHP disuruh secara eksplisit untuk memflush buffer). Dengan cara ini, kita dapat mengeset header sesudah perintah echo, karena perintah echo kita akan dibuffer dulu.

Cara menghidupkan output buffering adalah dengan menaruh baris fungsi ob_start(); di awal skrip Anda (sebelum semua output lain tentunya) atau menaruh baris:

output_buffering=1

di php.ini Anda.

Untuk berdiskusi dengan sesama programer dan peminat PHP, bergabunglah dengan milis id-php, milis PHP Indonesia paling aktif sejak 2002. Untuk subscribe, kunjungi halaman web milis atau kirimkan email kosong ke id-php-subscribe@yahoogroups.com.


Navigasi

Feedback

Artikel Popular

  • selengkapnya...
  • Artikel Terbaru

  • Daftar rekening MWN
  • Promo 20-12
  • selengkapnya...
  • Hak cipta © 2006-2010 PT Master Web Network Konten ditulis dan dikoleksi oleh staf MWN. Komentar ditulis oleh pembaca. MWN tidak bertanggung jawab atas akurasi dan/atau kekinian konten/komentar.