Dari versi sebelumnya hingga PHP 5, dirilis pada 13 Juli 2004, pelaporan kesalahan cukup mudah. Selain menulis program dengan hati-hati, Anda juga harus memperhatikan beberapa item konfigurasi PHP tertentu:
Itemerror_reporting
mengatur tingkat pelaporan kesalahan. Baik itu lingkungan pengembangan atau penerapan, sangat disarankan untuk menyetel proyek ini ke E_ALL.
Itemdisplay_errors
menentukan apakah kesalahan ditampilkan di layar (termasuk dalam output). Ini harus disetel ke Aktif dalam pengembangan sehingga kesalahan ditemukan selama pengembangan; ini harus disetel ke Nonaktif di lingkungan penerapan sehingga kesalahan akan disembunyikan dari semua pengguna (dan calon penyerang).
Itemlog_errors
menentukan apakah kesalahan ditulis ke log. Meskipun hal ini menimbulkan penalti kinerja, hal ini jarang terjadi. Jika kesalahan pencatatan ke hard drive menimbulkan beban I/O yang signifikan, hal ini mungkin memerlukan perhatian lebih dibandingkan efisiensi aplikasi. Harus diatur ke Aktif di lingkungan penerapan.
Itemerror_log
menentukan lokasi dan nama file log. Pastikan untuk memastikan bahwa server web memiliki izin untuk file yang ditentukan.
Menyetel error_reporting ke E_ALL berguna untuk memaksa inisialisasi variabel, karena menggunakan variabel yang tidak ditentukan akan menghasilkan pemberitahuan.
Perhatikan bahwa masing-masing item ini dapat disetel menggunakan ini_set() tanpa memerlukan akses ke php.ini atau operasi lain untuk menyetel item ini.
Fungsi penanganan dan pelaporan kesalahan yang sangat baik dijelaskan dalam manual PHP:
http://www.php.net/manual/en/ref.errorfunc.php
PHP 5 menyertakan penanganan pengecualian. Untuk informasi lebih lanjut, silakan lihat: