Ralat PHP



Pengenalan kepada Ralat dan Pengelogan PHP

Fungsi Ralat dan Pengelogan membolehkan anda mengendalikan dan mengelog ralat. Fungsi

Ralat membolehkan pengguna mentakrifkan peraturan pengendalian ralat dan mengubah suai cara ralat direkod.

Fungsi Pengelogan membolehkan pengguna log aplikasi dan menghantar mesej log ke e-mel, log sistem atau mesin lain.


Konfigurasi pelaksanaan

Fungsi ralat dipengaruhi oleh fail konfigurasi php.ini.

Pilihan konfigurasi ralat dan log:

NULLTetapkan tahap ralat PHP dan kembalikan tahap semasa (nombor atau pemalar). PHP_INI_ALLdisplay_errors"1" Pilihan ini menetapkan sama ada mesej ralat dipaparkan pada skrin sebagai sebahagian daripada output, atau tersembunyi daripada pengguna. PHP_INI_ALLdisplay_startup_errors"0"Walaupun display_errors ditetapkan kepada hidup, mesej ralat semasa permulaan PHP tidak akan dipaparkan. Adalah amat disyorkan untuk mematikan display_startup_errors kecuali untuk tujuan penyahpepijatan. PHP_INI_ALLlog_errors"0"Tetapkan sama ada untuk merekodkan maklumat ralat skrip yang berjalan ke log ralat pelayan atau error_log antara. Ambil perhatian bahawa ini ialah item konfigurasi khusus pelayan. PHP_INI_ALLlog_errors_max_len"1024"Tetapkan bilangan maksimum bait log_errors. Sumber ralat akan ditambahkan kepada maklumat log_ralat. Nilai lalai ialah 1024. Jika ditetapkan kepada 0, tiada had untuk panjang. Tetapan panjang ini mengehadkan ralat log, ralat yang dipaparkan dan $php_errormsg. PHP_INI_ALLabaikan_repeated_errors"0"Jangan log maklumat berulang. Ralat berulang mesti berlaku pada baris kod yang sama dalam fail yang sama, melainkan ignore_repeated_source ditetapkan kepada benar. PHP_INI_ALLignore_repeated_source"0"Apabila mengabaikan mesej berulang, sumber mesej juga diabaikan. Apabila tetapan ini dihidupkan, mesej pendua tidak akan merekodkan sama ada ia dijana oleh fail yang berbeza atau baris kod sumber yang berbeza. PHP_INI_ALLreport_memleaks"1"Jika parameter ini ditetapkan kepada Mati, maklumat kebocoran memori tidak akan dipaparkan (dalam stdout atau log). PHP_INI_ALLtrack_errors"0"Jika didayakan, ralat terakhir akan sentiasa wujud dalam pembolehubah $php_errormsg . PHP_INI_ALLhtml_errors"1"Tutup teg HTML dalam mesej ralat. PHP_INI_ALLxmlrpc_errors"0"xmlrpc_error_numberdocref_rootUntuk menyediakan halaman manual, anda boleh memuat turun manual bahasa yang sepadan dari tapak rasmi PHP dan menetapkan URL dalam ini ke alamat setempat yang sepadan.
Jika salinan manual tempatan anda boleh diakses menggunakan "/manual/", anda hanya boleh menetapkan docref_root=/manual/.
Selain itu, anda juga perlu menetapkan docref_ext untuk memadankan akhiran fail tempatan anda docref_ext=.html. Sudah tentu, anda juga boleh menetapkan alamat rujukan luaran.
Sebagai contoh, anda boleh menetapkan docref_root=http://manual/en/ atau docref_root="http://landonize.it/?how=url&theme=classic&filter=Landon &url=http%3A%2F%2Fwww.php.net%2F " PHP_INI_ALL
ParameterNilai lalaiPeneranganJulat boleh ubah suai
pelaporan_ralat <🎜 🎜>

Nota: Jangan gunakan ciri ini dalam persekitaran pengeluaran (digunakan semasa pembangunan dan ujian)
PHP_INI_SYSTEM dalam PHP <= 4.2.3.
<🎜 secara normal laporan ralat dan format ralat kepada format mesej ralat XML-RPC. PHP_INI_SYSTEM
"0" digunakan sebagai nilai elemen XML-RPC faultCode. PHP_INI_ALL
""Format mesej ralat baharu mengandungi halaman rujukan yang sepadan, iaitu halaman rujukan untuk ralat Sediakan penerangan khusus, atau huraikan fungsi yang menyebabkan ralat. PHP_INI_ALL
docref_ext""Lihat docref_root.PHP_INI_>
error_prepend_stringNULLOutput kandungan sebelum mesej ralat. PHP_INI_ALL
error_append_stringNULLOutput kandungan selepas mesej ralat. PHP_INI_ALL
error_logNULLMenetapkan fail ke mana ralat skrip akan dilog. Fail mesti boleh ditulis oleh pengguna pelayan web. PHP_INI_ALL

Pemasangan

Fungsi Ralat dan Pengelogan adalah sebahagian daripada teras PHP. Tiada pemasangan diperlukan untuk menggunakan fungsi ini.


Fungsi Ralat PHP dan Pengelogan

PHP: Menunjukkan versi PHP terawal yang menyokong fungsi ini.

FungsiPeneranganPHP
函数描述PHP
debug_backtrace()生成 backtrace。4
debug_print_backtrace()打印 backtrace。5
error_get_last()获得最后发生的错误。5
error_log()向服务器错误记录、文件或远程目标发送一个错误。4
error_reporting()规定报告哪个错误。4
restore_error_handler()恢复之前的错误处理程序。4
restore_exception_handler()恢复之前的异常处理程序。5
set_error_handler()设置用户自定义的错误处理函数。4
set_exception_handler()设置用户自定义的异常处理函数。5
trigger_error()创建用户自定义的错误消息。4
user_error()trigger_error() 的别名。4
<🎜><🎜>debug_backtrace()<🎜><🎜>Jana jejak belakang . <🎜><🎜>4<🎜><🎜><🎜><🎜>debug_print_backtrace()<🎜><🎜>Cetak jejak belakang. <🎜><🎜>5<🎜><🎜><🎜><🎜>error_get_last()<🎜><🎜>Dapatkan ralat terakhir yang berlaku. <🎜><🎜>5<🎜><🎜><🎜><🎜>error_log()<🎜><🎜>Hantar ralat ke log ralat pelayan, fail atau sasaran jauh. <🎜><🎜>4<🎜><🎜><🎜><🎜>error_reporting()<🎜><🎜>Menentukan ralat yang hendak dilaporkan. <🎜><🎜>4<🎜><🎜><🎜><🎜>restore_error_handler()<🎜><🎜>Pulihkan pengendali ralat sebelumnya. <🎜><🎜>4<🎜><🎜><🎜><🎜>restore_exception_handler()<🎜><🎜>Pulihkan pengendali pengecualian sebelumnya. <🎜><🎜>5<🎜><🎜><🎜><🎜>set_error_handler()<🎜><🎜>Tetapkan fungsi pengendalian ralat yang ditentukan pengguna. <🎜><🎜>4<🎜><🎜><🎜><🎜>set_exception_handler()<🎜><🎜>Tetapkan fungsi pengendalian pengecualian yang ditentukan pengguna. <🎜><🎜>5<🎜><🎜><🎜><🎜>trigger_error()<🎜><🎜>Buat mesej ralat yang ditentukan pengguna. <🎜><🎜>4<🎜><🎜><🎜><🎜>user_error()<🎜><🎜>Alyas untuk trigger_error(). <🎜><🎜>4<🎜><🎜><🎜><🎜>

Ralat PHP dan Pemalar Log

PHP: Menunjukkan versi PHP terawal yang menyokong pemalar ini.

< /tr>
nilaiMalarPeneranganPHP
1E_ERROR Ralat masa jalan yang membawa maut. Ralat yang tidak boleh diperbaiki. Berhenti melaksanakan skrip.
常量描述PHP
1E_ERROR运行时致命的错误。不能修复的错误。停止执行脚本。
2E_WARNING运行时非致命的错误。没有停止执行脚本。
4E_PARSE编译时的解析错误。解析错误应该只由解析器生成。
8E_NOTICE运行时的通知。脚本发现可能是一个错误,但也可能在正常运行脚本时发生。
16E_CORE_ERRORPHP 启动时的致命错误。这就如同 PHP 核心的 E_ERROR。4
32E_CORE_WARNINGPHP 启动时的非致命错误。这就如同 PHP 核心的 E_WARNING。4
64E_COMPILE_ERROR编译时致命的错误。这就如同由 Zend 脚本引擎生成的 E_ERROR。4
128E_COMPILE_WARNING编译时非致命的错误。这就如同由 Zend 脚本引擎生成的 E_WARNING。4
256E_USER_ERROR用户生成的致命错误。这就如同由程序员使用 PHP 函数 trigger_error() 生成的 E_ERROR。4
512E_USER_WARNING用户生成的非致命错误。这就如同由程序员使用 PHP 函数 trigger_error() 生成的 E_WARNING。4
1024E_USER_NOTICE用户生成的通知。这就如同由程序员使用 PHP 函数 trigger_error() 生成的 E_NOTICE。4
2048E_STRICT运行时的通知。PHP 建议您改变代码,以提高代码的互用性和兼容性。5
4096E_RECOVERABLE_ERROR可捕获的致命错误。这就如同一个可以由用户定义的句柄捕获的 E_ERROR(见 set_error_handler())。5
6143E_ALL所有的错误和警告的级别,除了 E_STRICT(自 PHP 6.0 起,E_STRICT 将作为 E_ALL的一部分)。5
2E_WARNINGRalat bukan maut pada masa jalan. Pelaksanaan skrip tidak dihentikan.
4E_PARSERalat penghuraian semasa penyusunan. Ralat penghuraian hanya boleh dihasilkan oleh penghurai. <🎜>
8E_NOTICEPemberitahuan masa jalan. Penemuan skrip boleh menjadi pepijat, tetapi juga boleh berlaku apabila menjalankan skrip secara normal. <🎜>
16E_CORE_ERRORRalat maut semasa memulakan PHP. Ini sama seperti E_ERROR teras PHP. 4
32E_CORE_WARNINGRalat bukan maut semasa memulakan PHP. Ini sama seperti E_WARNING teras PHP. 4
64E_COMPILE_ERRORRalat maut semasa penyusunan. Ini sama seperti E_ERROR yang dihasilkan oleh enjin skrip Zend. 4
128E_COMPILE_WARNINGRalat bukan maut semasa penyusunan. Ini seperti E_WARNING yang dihasilkan oleh enjin skrip Zend. 4
256E_USER_ERRORRalat maut yang dijana pengguna. Ini seperti E_ERROR yang dihasilkan oleh pengaturcara menggunakan fungsi PHP trigger_error(). 4
512E_USER_WARNINGRalat bukan maut yang dijana pengguna. Ini seperti E_WARNING yang dihasilkan oleh pengaturcara menggunakan fungsi PHP trigger_error(). 4
1024E_USER_NOTICEPemberitahuan yang dijana pengguna. Ini seperti E_NOTICE yang dihasilkan oleh pengaturcara menggunakan fungsi PHP trigger_error(). 4
2048E_STRICTPemberitahuan masa jalan. PHP mengesyorkan anda membuat perubahan pada kod anda untuk meningkatkan kesalingoperasian dan keserasian kod. 5
4096E_RECOVERABLE_ERRORRalat maut yang boleh ditangkap. Ini seperti E_ERROR yang boleh ditangkap oleh pemegang yang ditentukan pengguna (lihat set_error_handler()). 5
6143E_ALLSemua peringkat ralat dan amaran kecuali E_STRICT (sejak Bermula dari PHP 6.0, E_STRICT akan menjadi sebahagian daripada E_ALL). 5
<🎜>