Kamis, 17 Januari 2013

Mengatasi Error Warning: Cannot modify header information - headers already sent by

Bagi Programmer PHP pasti sudah tidak asing lagi dengan warning seperti berikut.



Cannot modify header information – headers already sent by (output started at rootxxxxxxx.php:8) in rootblablabla.php on line 30

Warning seperti ini terkadang membuat jengkel ketika kita membuat sebuah web dengan menggunakan php. terkadang jugabisa  menghambat pekerjaan / logic yang lebih penting.


Seperti yang kita ketahui bersama bahwa tag header (“location : “) ; pada php berfungsi untuk mengirimkan header atau mengarahkan halaman ke halaman yang lainnya.


Pada waktu menemui kegagalan, permasalahan klasik yang terjadi adalah :


1. Terdapat output dari php sebelum tag header



echo "Selamat datang";
header('Location:http://andiattacker.com/blablabla.php');

Contoh diatas akan menggagalkan perintah header, karena ada output yang harus ditampilkan sebelum perintah header dieksekusi.


2. Permasalahan configurasi php


Coba anda cek pada php.info anda apakah buffer php aktif? jika output_buffering = 1 maka hapus angka satu dan biarkan setting menjadi none.


3. Pastikan tidak ada spasi dibaris pertama, sebelum tag pembuka php.



<?php include "system/config.php";?>

2. Kalau warning tersebut masih keluar, coba tambahkan ob_start(); dibaris paling atas



<?php ob_start();?>

3. Kalau warning tersebut masih keluar lagi, coba tambahkan ob_flush() dibaris paling bawah atau setelah tag


<?php ob_flush();?>


4. Mengedit file .htaccess dan mengisikan konfigurasi berikut :PHP_FLAG output_buffering on

lalu file .htaccess di upload lagi, coba lihat apa yang terjadi,..fungsi header pada script php anda sudah succeess

5 komentar :

  1. Terimakasih gan, Point no 4 menggunakan htaccess work..

    BalasHapus
    Balasan
    1. permisi kakak, cara mengedit file .htaccess caranya sprti apa kak? terimakasih kak :)

      Hapus
  2. Sempet berhasil yg no.4, tp gkbs lagi. Cmn kaya reload gitu aja. Ad solusi?

    BalasHapus

 
Copyright © 2016. Blog Andi Firmansyah
Template by BTDesigner · Powered by Blogger