Fungsi Kesalahan dan Perekam 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 melacak aplikasi dan mengirimkan pesan log ke surel, log sistem atau mesin lain.

Fungsi error digunakan untuk menyelesaikan penanganan kesalahan dan logging.

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 jenis dan tingkat kesalahan.

Pemasangan

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

Konfigurasi Runtime

Perilaku fungsi error dipengaruhi oleh pengaturan di php.ini.

Pilihan konfigurasi kesalahan dan logging seperti berikut:

Nama Nilai baku Deskripsi Rentang yang dapat diubah
error_reporting NULL Atur tingkat laporan kesalahan (integer 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 untuk aktif, kesalahan informasi dalam proses pengembalian PHP tidak akan ditampilkan.

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

PHP_INI_ALL
log_errors "0"

Atur apakah kesalahan yang terjadi dalam eksekusi skrip akan direkam ke log kesalahan server atau error_log.

Komentar: Ini adalah item konfigurasi khusus yang berhubungan dengan server.

Komentar: Di sistem produksi, disarankan dengan kuat untuk menggunakan perekam kesalahan untuk rekam kesalahan yang ditampilkan di situs web.

PHP_INI_ALL
log_errors_max_len "1024"

Atur ukuran maksimal byte untuk log_errors. Informasi tentang sumber kesalahan akan ditambahkan ke error_log.

Nilai baku adalah 1024, jika diatur menjadi 0 maka panjang tak terbatas.

Pengaturan panjang ini membatasi kesalahan yang direkam, kesalahan yang ditampilkan, dan $php_errormsg.

PHP_INI_ALL
ignore_repeated_errors "0"

规定是否记录重复的错误信息。

重复的错误必须出现在同一个文件中的同一行代码上,除非 ignore_repeated_source 设置为 true。

PHP_INI_ALL
ignore_repeated_source "0"

规定是否记录重复的错误信息。忽略重复消息时,也忽略消息的来源。

当该设置开启时,重复信息将不会记录它是由不同的文件还是不同的源代码行产生的。

PHP_INI_ALL
report_memleaks "1" 如果该参数被设置为 On(默认),则会显示由 Zend 内存管理器侦测到的内存泄露报告。 PHP_INI_ALL
track_errors "0" 如果开启,最后一个错误将永远存在于变量 $php_errormsg 中。 PHP_INI_ALL
html_errors "1" 在错误信息中关闭 HTML 标签。
  • PHP_INI_ALL
  • PHP_INI_SYSTEM in PHP <= 4.2.3.
xmlrpc_errors "0" 如果启用,则关闭正常的错误报告,并将错误的格式设置为 XML-RPC 错误信息的格式。 PHP_INI_SYSTEM
xmlrpc_error_number "0" 用作 XML-RPC faultCode 元素的值。 PHP_INI_ALL
docref_root "" (available since PHP 4.3) PHP_INI_ALL
docref_ext "" (available since PHP 4.3.2) PHP_INI_ALL
error_prepend_string NULL 规定错误信息之前输出的字符串。 PHP_INI_ALL
error_append_string NULL 规定错误信息之后输出的字符串。 PHP_INI_ALL
error_log NULL

设置脚本错误将被记录到的文件。该文件必须是 web 服务器用户可写的。

如果使用了特殊值 syslog,则将错误信息发送到系统日志记录器。

PHP_INI_ALL

Fungsi Kesalahan dan Perekam PHP

函数 Deskripsi
debug_backtrace() 生成 backtrace。
debug_print_backtrace() 打印 backtrace。
error_get_last() 返回最后发生的错误。
error_log() 向服务器错误记录、文件或远程目标发送错误消息。
error_reporting() 规定报告哪个错误。
restore_error_handler() 恢复之前的错误处理程序。
restore_exception_handler() Pulihkan pengendalian eksepsi sebelumnya.
set_error_handler() Tetapkan fungsi pengendalian kesalahan yang diatur pengguna.
set_exception_handler() Tetapkan fungsi pengendalian eksepsi yang diatur pengguna.
trigger_error() Cipta mesej kesalahan tingkat pengguna.
user_error() Alias trigger_error()

Konstanta kesalahan dan log yang diatur sebelumnya PHP 5

Nilai Konstanta Deskripsi
1 E_ERROR Kesalahan yang parah masa eksekusi. Kesalahan yang tidak dapat memperbaiki. Menghentikan eksekusi skrip.
2 E_WARNING Kesalahan yang bukan kritis masa eksekusi. Tidak menghentikan eksekusi skrip.
4 E_PARSE Kesalahan analisis sintaks masa kompilasi. Kesalahan analisis hanya dihasilkan oleh analisis.
8 E_NOTICE Pemberitahuan masa eksekusi. Menandakan skrip mendapati situasi yang mungkin muncul sebagai kesalahan, tetapi mungkin ada pemberitahuan yang mirip di dalam skrip yang dapat berjalan dengan baik.
16 E_CORE_ERROR Kesalahan yang terjadi masa penghantaran PHP. Kesalahan ini mirip dengan E_ERROR, tetapi dihasilkan oleh inti enjin PHP.
32 E_CORE_WARNING Amaran masa penghantaran PHP (kesalahan yang bukan kritis). Mirip dengan E_WARNING, tetapi dihasilkan oleh inti enjin PHP.
64 E_COMPILE_ERROR Kesalahan kompilasi yang parah. Mirip dengan E_ERROR, tetapi dihasilkan oleh enjin skrip Zend.
128 E_COMPILE_WARNING Amaran masa kompilasi (kesalahan yang bukan kritis). Mirip dengan E_WARNING, tetapi dihasilkan oleh enjin skrip Zend.
256 E_USER_ERROR Mesej kesalahan yang dihasilkan pengguna. Mirip dengan E_ERROR, tetapi dihasilkan oleh pengguna sendiri dalam kod menggunakan PHP fungsi trigger_error().
512 E_USER_WARNING Mesej amaran yang dihasilkan pengguna. Mirip dengan E_WARNING, tetapi dihasilkan oleh pengguna sendiri dalam kod menggunakan fungsi PHP trigger_error().
1024 E_USER_NOTICE Mesej pemberitahuan yang dihasilkan pengguna. Mirip dengan E_NOTICE, tetapi dihasilkan oleh pengguna sendiri dalam kod menggunakan fungsi PHP trigger_error().
2048 E_STRICT Aktifkan cadangan perubahan kode PHP untuk memastikan kod mempunyai keserasian yang terbaik dan keserasian ke hadapan.
4096 E_RECOVERABLE_ERROR Kesalahan yang dapat ditangkap. Ini menunjukkan kesalahan yang mungkin sangat berbahaya, tetapi belum menyebabkan penggerak PHP berada dalam keadaan takstabil. Jika kesalahan ini tidak diambil tangkap penghandler kesalahan yang ditetapkan pengguna (lihat set_error_handler()), ia akan menjadi E_ERROR dan skrip akan berhenti berjalan.
8192 E_DEPRECATED Pemberitahuan masa operasi. Dengan membolehkan, akan memberikan amaran untuk kod yang mungkin tidak berfungsi dengan baik di versi masa depan.
16384 E_USER_DEPRECATED Pemberitahuan amaran yang dihasilkan pengguna. Sebagai contoh E_DEPRECATED, tetapi dihasilkan oleh pengguna sendiri dalam kod menggunakan fungsi PHP trigger_error().
32767 E_ALL E_STRICT kecuali semua kesalahan dan pemberitahuan amaran.