Mungkin kita pernah membuat program dengan PHP di localhost berjalan dengan baik, tetapi saat diupload ke hosting muncul banyak error. Salah satu penyebabnya adalah perbedaan setting error_reporting dalam konfigurasi PHP yang ada di php.ini.
Berikut berbagai kemungkinan tampilan error terkait setting error reporting
- Undefined variable
Misal kita mempunyai coding seperti berikut ini:
<?php
// Turn off all error reporting
error_reporting(0);// Report all PHP errors (see changelog)
error_reporting(E_ALL);echo “Namaku adalah $nama”;
?>Maka akan muncul error seperti berikut ini:
Notice: Undefined variable: nama in D:\home\jqueryui18\public_html\error_reporting\e_all.php on line 8
Namaku adalahUntuk mengatasinya adalah mengubah error reporting dari error_reporting(E_ALL) ke error_reporting(E_ALL & ~E_NOTICE) seperti contoh berikut ini:
<?php
// Turn off all error reporting
error_reporting(0);// Report all errors except E_NOTICE
error_reporting(E_ALL & ~E_NOTICE);echo “Namaku adalah $nama”;
?> - Non-static method
Misal kita mempunyai class dengan coding seperti berikut ini:
<?php
// Turn off all error reporting
error_reporting(0);// Report all PHP errors (see changelog)
error_reporting(E_ALL);class Situs {
public function coba()
{
echo “percobaan ya”;
}
}Situs::coba();
?>Saat kita jalankan maka akan muncul error:
Strict Standards: Non-static method Situs::coba() should not be called statically in D:\home\jqueryui18\public_html\error_reporting\e_stric01.php on line 15
Untuk mengatasi ubah error_reporting(E_ALL) ke error_reporting(E_ALL & ~E_STRICT) seperti contoh berikut ini:
<?php
// Turn off all error reporting
error_reporting(0);// Report all PHP errors (see changelog)
error_reporting(E_ALL & ~E_STRICT);class Situs {
public function coba()
{
echo “percobaan ya”;
}
}Situs::coba();
?>
- Deprecated
PHP terus mengembangkan dirinya sehingga ada function-function yang ditinggalkan dan digantikan function-function yang baru. Oleh karena itu jika kita menggunakan function lama akan muncul warning.
Misal coding kita adalah:
<?php
// Turn off all error reporting
error_reporting(0);// Report all PHP errors (see changelog)
error_reporting(E_ALL);$asli=”jogja”;
$pengganti=”Yogya”;$kalimat=”Selamat datang di jogja. jogja sudah terkenal sejak lama.
Sebelah selatan jogja adalah Gunungkidul”;$kalimat_baru=ereg_replace($asli,$pengganti,$kalimat);
echo $kalimat_baru;
?>
Saat dijalankan akan muncul error yaitu:
Deprecated: Function ereg_replace() is deprecated in D:\home\jqueryui18\public_html\error_reporting\e_dep01.php on line 14Untuk mengatasinya silahkan mengganti error_reporting(E_ALL) dengan error_reporting(E_ALL & ~E_DEPRECATED) seperti contoh berikut ini:
<?php
// Turn off all error reporting
error_reporting(0);// Report all PHP errors (see changelog)
error_reporting(E_ALL & ~E_DEPRECATED);$asli=”jogja”;
$pengganti=”Yogya”;$kalimat=”Selamat datang di jogja. jogja sudah terkenal sejak lama.
Sebelah selatan jogja adalah Gunungkidul”;$kalimat_baru=ereg_replace($asli,$pengganti,$kalimat);
echo $kalimat_baru;?>
Kita mungkin ingin menjalankan setting error_reporting tidak dalam setiap script PHP tetapi berlaku umum untuk server kita. Untuk membuat setting permanen maka dapat diset dalam php.ini misalnya :
error_reporting=E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
Informasi lebih lanjut silahkan mengunjungi http://php.net/manual/en/function.error-reporting.php .
Kunjungi www.proweb.co.id untuk menambah wawasan anda.