Di CodeIgniter, untuk menyembunyikan php error adalah dengan men-set Environment pada file index dari 'development' menjadi 'production'.
Tetapi itu saja tidaklah cukup. Pesan-pesan error berikut masih tetap muncul :
CI General Error |
CI Database Error |
Jadi bagaimana cara untuk menyembunyikannya ??
CARA #1
1. Buka editor Anda (Saya menggunakan Sublime Text 2)
2. Di dalam folder application/errors/ pada direktori Instalasi Codeigniter Anda, edit 3 file berikut :
- error_db.php
- error_general.php
- error_php.php
3. Simpan editan Anda.<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');$CI =& get_instance();$_is_okey = $CI->input->get('show_error');if ($_is_okey !== 'TRUE') return show_404();?>
Silakan lihat gambar berikut :
Edit File Default Error CI |
Hasilnya adalah Anda tidak akan melihat repot error seperti tadi :
yang muncul sekarang adalah halaman error 404, bukan error database ataupun karena kesalahan umum di CI.
Halaman 404 Standar CI |
Berdasarkan pengalaman dari sahabat saya Fery di facebook : https://www.facebook.com/mokhamad.rofiudin/posts/10201347575953504?comment_id=39494584&offset=0&total_comments=1
Membuat file MY_Exceptions.php pada folder : application/core/
Prefix MY_ adalah default. Silakan disesuaikan dengan config application Anda.
Isinya :
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class MY_Exceptions extends CI_Exceptions
{
protected $ci;
public function __construct()
{
parent::__construct();
$this->ci =& get_instance();
$_is_okey = $this->ci->input->get('showme');
if ($_is_okey !== 'TRUE') $this->show_404();
}
}
KESIMPULAN
Apa yang kita lakukan di atas adalah memberikan kondisi dimana kita harus memasukkan HTTP GET Parameter agar bisa melihat pesan error yang sebenarnya. Tentu saja parameter yang sesuai dengan apa yang kita tuliskan di file-file tersebut. Lihat kembali kode berikut :
Intinya adalah pada kata show_error dan TRUE (Anda bisa edit dan ganti sesuka Anda).$_is_okey = $CI->input->get('show_error');if ($_is_okey !== 'TRUE') return show_404();
Untuk memunculkan pesan error sebenarnya tambahkan "?show_error=TRUE" pada URL halaman yang ingin Anda akses.
Misal : http://mysite.com/halaman/yg_ada_errornya/?show_error=TRUE
Cukup simple bukan, silakan jika ada pertanyaan bisa ditulis di komentar.
Happy Coding. ^_^
Sangat bermanfaat, trims bro
BalasHapus