Fungsi Error dan Logging PHP

Ringkasan PHP Error

Fungsi Error dan Logging memungkinkan Anda untuk menangani dan merekam kesalahan.

Fungsi Error memungkinkan pengguna untuk menentukan aturan penanganan kesalahan dan mengubah cara rekam kesalahan.

Fungsi logging memungkinkan pengguna untuk merekam log aplikasi dan mengirimkan pesan log ke surel, log sistem, atau mesin lain.

Fungsi error digunakan untuk menyelesaikan penanganan kesalahan dan rekam log.

Fungsi error memungkinkan kami untuk menentukan aturan penanganan kesalahan sendiri dan mengubah cara rekam kesalahan.

Fungsi logging memungkinkan kami untuk mengirimkan pesan langsung ke mesin lain, surel, atau log sistem.

Fungsi laporan kesalahan memungkinkan kami untuk menentukan tipe dan tingkat kesalahan.

Pemasangan

Fungsi error adalah bagian dari inti PHP. Fungsi ini dapat digunakan tanpa perlu pemasangan.

Konfigurasi Runtime

Pengembangan perilaku fungsi error dipengaruhi oleh pengaturan di php.ini.

Pilihan konfigurasi Errors dan logging seperti berikut:

Nama Nilai default Deskripsi Rentang yang dapat diubah
error_reporting NULL Pengaturan tingkat laporan kesalahan (angka atau konstanta yang dinamai) PHP_INI_ALL
display_errors "1"

Tentukan apakah kesalahan akan diekspor ke layar layar atau disembunyikan dari pengguna.

Perhatian:Fitur ini tidak seharusnya digunakan di sistem produksi (hanya mendukung pengembangan)

PHP_INI_ALL
display_startup_errors "0"

Meskipun display_errors diatur menjadi aktif, kesalahan informasi proses peluncuran PHP tidak akan ditampilkan.

Keterangan: Disarankan dengan kuat untuk menonaktifkan display_startup_errors kecuali untuk tujuan debug.

PHP_INI_ALL
log_errors "0"

Pengaturan apakah kesalahan yang dijalankan skripnya direkam ke log kesalahan server atau error_log.

Keterangan: Ini adalah opsi konfigurasi khusus yang berhubungan dengan server.

Keterangan: Dalam sistem produksi, disarankan dengan kuat untuk menggunakan log kesalahan untuk rekam kesalahan yang ditampilkan di situs web.

PHP_INI_ALL
log_errors_max_len "1024"

Pengaturan maksimum byte untuk log_errors. Pada error_log akan ditambahkan informasi tentang sumber kesalahan.

Nilai defaultnya adalah 1024, jika diatur menjadi 0 berarti tanpa batasan panjang.

Pengaturan panjang ini berpengaruh terhadap kesalahan yang direkam, kesalahan yang ditampilkan, dan $php_errormsg akan mempunyai batasan.

PHP_INI_ALL
ignore_repeated_errors "0"

Tentukan apakah informasi kesalahan yang diulang akan disimpan.

Kesalahan yang diulang harus muncul di baris kode yang sama di berkas yang sama, kecuali jika ignore_repeated_source diatur ke true.

PHP_INI_ALL
ignore_repeated_source "0"

Tentukan apakah informasi kesalahan yang diulang akan disimpan. Jika mengabaikan pesan yang diulang, juga mengabaikan sumber pesan.

Ketika pengaturan ini diaktifkan, informasi yang diulang tidak akan disimpan apakah ia berasal dari berkas atau baris kode sumber yang berbeda.

PHP_INI_ALL
report_memleaks "1" Jika parameter ini diatur ke On (default), laporan kebocoran memori yang dideteksi manajer memori Zend akan ditampilkan. PHP_INI_ALL
track_errors "0" Jika diaktifkan, kesalahan terakhir akan selalu ada di variabel $php_errormsg. PHP_INI_ALL
html_errors "1" Tutup tag HTML dalam informasi kesalahan.
  • PHP_INI_ALL
  • PHP_INI_SYSTEM di PHP <= 4.2.3.
xmlrpc_errors "0" Jika diaktifkan, menutup laporan kesalahan normal dan mengatur format kesalahan menjadi format informasi kesalahan XML-RPC. PHP_INI_SYSTEM
xmlrpc_error_number "0" Digunakan sebagai nilai elemen faultCode XML-RPC. PHP_INI_ALL
docref_root "" (tersedia sejak PHP 4.3) PHP_INI_ALL
docref_ext "" (tersedia sejak PHP 4.3.2) PHP_INI_ALL
error_prepend_string NULL Tentukan string yang akan diekspor sebelum informasi kesalahan. PHP_INI_ALL
error_append_string NULL Tentukan string yang akan diekspor setelah informasi kesalahan. PHP_INI_ALL
error_log NULL

Atur berkas mana yang kesalahan skrip akan disimpan. Berkas ini harus dapat ditulis pengguna web server.

Jika nilai khusus syslog digunakan, kirim informasi kesalahan ke perekam log sistem.

PHP_INI_ALL

Fungsi Error dan Logging PHP

Fungsi Deskripsi
debug_backtrace() Buat backtrace.
debug_print_backtrace() Cetak backtrace.
error_get_last() Kembalikan kesalahan yang terjadi terakhir.
error_log() Kirim pesan kesalahan ke catatan kesalahan server, berkas, atau tujuan jarak jauh.
error_reporting() Tentukan kesalahan mana yang akan dilaporkan.
restore_error_handler() Memulihkan program penanganan kesalahan sebelumnya.
restore_exception_handler() Pulihkan penanganan eksepsi sebelumnya.
set_error_handler() Atur fungsi penanganan kesalahan yang disesuaikan pengguna.
set_exception_handler() Atur fungsi penanganan eksepsi yang disesuaikan pengguna.
trigger_error() Buat pesan kesalahan tingkat pengguna.
user_error() Alias untuk trigger_error()

Konstanta kesalahan dan log yang diatur sebelumnya di PHP 5

Nilai Konstanta Deskripsi
1 E_ERROR Kesalahan runtime fatal. Kesalahan yang tak dapat memperbaiki. Menghentikan eksekusi skrip.
2 E_WARNING Kesalahan runtime yang bukan fatal. Tidak menghentikan eksekusi skrip.
4 E_PARSE Kesalahan analisis sintaks saat pengkompilasi. Kesalahan analisis hanya dihasilkan oleh analyzer.
8 E_NOTICE Pemberitahuan saat runtime. Menandai bahwa skrip menghadapi situasi yang mungkin muncul sebagai kesalahan, tetapi mungkin ada pemberitahuan yang mirip di skrip yang dapat berjalan dengan baik.
16 E_CORE_ERROR Kesalahan fatal saat proses awal inisialisasi PHP. Kesalahan ini mirip dengan E_ERROR, tetapi dihasilkan oleh inti mesin PHP.
32 E_CORE_WARNING Peringatan saat proses awal inisialisasi PHP (kesalahan yang bukan fatal). Mirip dengan E_WARNING, tetapi dihasilkan oleh inti mesin PHP.
64 E_COMPILE_ERROR Kesalahan pengkompilasi fatal. Mirip dengan E_ERROR, tetapi dihasilkan oleh mesin skrip Zend.
128 E_COMPILE_WARNING Peringatan saat pengkompilasi (kesalahan yang bukan fatal). Mirip dengan E_WARNING, tetapi dihasilkan oleh mesin skrip Zend.
256 E_USER_ERROR Pesan kesalahan yang dihasilkan oleh pengguna. Mirip dengan E_ERROR, tetapi dihasilkan oleh pengguna sendiri dalam kode menggunakan PHP fungsi trigger_error().
512 E_USER_WARNING Pemberitahuan peringatan yang dihasilkan oleh pengguna. Mirip dengan E_WARNING, tetapi dihasilkan oleh pengguna sendiri dalam kode menggunakan fungsi PHP trigger_error().
1024 E_USER_NOTICE Pemberitahuan informasi yang dihasilkan oleh pengguna. Mirip dengan E_NOTICE, tetapi dihasilkan oleh pengguna sendiri dalam kode menggunakan fungsi PHP trigger_error().
2048 E_STRICT Aktifkan sugesti perubahan kode PHP untuk memastikan kode memiliki interoperabilitas terbaik dan kompatibilitas ke depan.
4096 E_RECOVERABLE_ERROR Kesalahan yang dapat ditangkap. Ini menandakan bahwa terjadi kesalahan yang mungkin sangat berbahaya, tetapi belum menyebabkan mesin PHP dalam keadaan yang tidak stabil. Jika kesalahan ini belum ditangkap oleh penanganan kesalahan yang diatur pengguna (lihat set_error_handler()), akan menjadi E_ERROR sehingga skrip akan berhenti berjalan.
8192 E_DEPRECATED Pemberitahuan saat menjalankan. Dengan mengaktifkannya, kode yang mungkin tidak berfungsi dengan baik di versi yang akan datang akan diberikan peringatan.
16384 E_USER_DEPRECATED Informasi peringatan yang dihasilkan oleh pengguna. Mirip dengan E_DEPRECATED, tetapi dihasilkan oleh pengguna sendiri dengan memakai fungsi PHP trigger_error() di kode.
32767 E_ALL E_STRICT kecuali semua informasi kesalahan dan peringatan.