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

  1. 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 adalah

    Untuk 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”;
    ?>

  2. 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();
    ?>
     

  3. 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 14

    Untuk 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.

Error_reporting pada PHP