Rumah > Artikel > pembangunan bahagian belakang > Cara mengendalikan ralat output PHP dan teknik untuk menjana mesej ralat yang berkaitan
Cara mengendalikan ralat output PHP dan teknik untuk menjana mesej ralat yang berkaitan
Pengenalan:
Apabila menulis kod PHP, kita pasti akan menghadapi pelbagai ralat. Ralat ini mungkin ralat sintaks, ralat masa jalan, ralat logik, dsb. Jika ralat ini tidak dikendalikan dan ditangkap dalam masa, ia akan menyebabkan masalah kepada pelaksanaan kod kami. Untuk meningkatkan kecekapan pembangunan dan kualiti kod, kita perlu menguasai beberapa kaedah mengendalikan ralat output PHP dan teknik untuk menjana mesej ralat yang berkaitan. Artikel ini akan memperkenalkan kaedah pengendalian ralat biasa dan menyediakan contoh kod untuk menunjukkan cara mendapatkan dan mengeluarkan maklumat ralat.
Kaedah pengendalian ralat:
Laporan ralat dipaparkan pada halaman:
Apabila persekitaran pembangunan berada dalam mod nyahpepijat, kami boleh terus mengeluarkan maklumat ralat ke halaman untuk melihat dan menyelesaikan masalah. Untuk melakukan ini, kami boleh menetapkan pilihan berikut pada permulaan kod PHP:
error_reporting(E_ALL); ini_set('display_errors', 1);
Selepas menetapkan ini, PHP akan mengeluarkan laporan semua jenis ralat dan memaparkannya terus pada halaman.
Rekod laporan ralat ke fail log:
Dalam persekitaran pengeluaran, kami tidak mahu maklumat ralat didedahkan terus pada halaman, tetapi merekodkan laporan ralat dalam fail log untuk penyelesaian masalah seterusnya. Kita boleh mencapai ini dengan melaraskan tetapan display_errors
dan log_errors
. display_errors
和 log_errors
的设置来实现这一目的。
ini_set('display_errors', 0); ini_set('log_errors', 1); ini_set('error_log', '/path/to/error.log');
配置之后,PHP 将不再在页面上显示错误报告,而是记录到指定的日志文件中。
自定义错误处理函数:
PHP 提供了 set_error_handler
function customErrorHandler($errno, $errstr, $errfile, $errline) { // 错误处理代码 } // 设置自定义错误处理函数 set_error_handler('customErrorHandler');Selepas konfigurasi, PHP tidak lagi akan memaparkan laporan ralat pada halaman, tetapi log mereka ke fail log yang ditentukan.
PHP menyediakan fungsi set_error_handler
, membolehkan kami menyesuaikan fungsi pengendalian ralat. Dengan menetapkan fungsi pengendalian ralat tersuai, kami boleh mengendalikan pelbagai jenis ralat secara fleksibel. Berikut ialah contoh fungsi pengendalian ralat tersuai:
<?php // 错误报告显示在页面上 error_reporting(E_ALL); ini_set('display_errors', 1); // 这是一个带有语法错误的 PHP 代码 echo "Hello, World!" // 尝试访问一个未定义的变量 echo $undefinedVariable; // 触发一个自定义的错误 trigger_error("This is a custom error.", E_USER_ERROR); ?>Dalam fungsi pengendalian ralat tersuai, kita boleh melakukan beberapa pemprosesan mengikut keperluan, seperti merakam log ralat, menghantar pemberitahuan e-mel, dsb. Contoh mengeluarkan maklumat ralat:
Berikut ialah contoh kod yang menunjukkan cara mendapatkan dan mengeluarkan maklumat ralat dalam PHP:
Parse error: syntax error, unexpected '!' in /path/to/file.php on line 6 Notice: Undefined variable: undefinedVariable in /path/to/file.php on line 9 This is a custom error.
Dalam contoh di atas, kami mula-mula menetapkan pelaporan ralat untuk mengeluarkan semua jenis ralat, dan Pilihan untuk memaparkan ralat didayakan. Kemudian kami sengaja menulis beberapa kod yang buggy.
Atas ialah kandungan terperinci Cara mengendalikan ralat output PHP dan teknik untuk menjana mesej ralat yang berkaitan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!