Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mari kita bincangkan tentang konfigurasi yang berkaitan dengan gesaan ralat PHP

Mari kita bincangkan tentang konfigurasi yang berkaitan dengan gesaan ralat PHP

PHPz
PHPzasal
2023-04-04 16:13:13514semak imbas

PHP ialah bahasa skrip sumber terbuka global yang popular yang digunakan secara meluas untuk membina tapak web dinamik dan aplikasi web di bahagian pelayan. PHP menyediakan fungsi pengendalian ralat terbina dalam. Jika anda tidak mengkonfigurasi pelaporan ralat PHP dengan sewajarnya, anda mungkin menghadapi banyak kesukaran penyahpepijatan. Dalam artikel ini, kami akan meneroka konfigurasi yang berkaitan dengan gesaan ralat PHP.

  1. Jenis Ralat PHP

PHP mentakrifkan pelbagai jenis ralat:

  • Ralat Maut (E_ERROR): Ini adalah kegagalan PHP parser Jenis ralat yang paling teruk untuk meneruskan pelaksanaan. Ia menyebabkan program membatalkan pelaksanaan.
  • Amaran ketat (E_STRICT): Jenis ralat ini boleh berlaku apabila anda menggunakan fungsi atau kaedah yang tidak wujud atau lapuk.
  • Ralat Sintaks (E_PARSE): Ini ialah ralat sintaks yang ditemui semasa menghuraikan kod.
  • Amaran (E_WARNING): Maklumat tentang masalah yang ditemui apabila PHP berinteraksi dengan kod anda.
  • Pemberitahuan (E_NOTICE): Ralat ini menunjukkan bahawa beberapa pembolehubah belum dimulakan dan mereka perlu diberikan nilai awal sebelum melaksanakannya.
  1. Tahap ralat

Dalam PHP, anda boleh mengawal tahap perincian laporan ralat. PHP menyediakan empat tahap pelaporan yang berbeza untuk gesaan ralat:

  • Pelaporan ralat (E_ERROR | E_WARNING | E_PARSE): Ini ialah tahap pelaporan ralat yang paling serius, yang menggesa semua ralat PHP.
  • Pelaporan Ralat Tegas (E_ERROR | E_WARNING | E_PARSE | E_NOTICE | E_STRICT): Tahap ini menggesa semua ralat PHP, termasuk pemberitahuan dan amaran ketat.
  • Tahap pelaporan lain (E_ALL & ~E_NOTICE): Tahap ini menggesa semua ralat PHP kecuali pemberitahuan.
  • Tahap pelaporan pengeluaran (E_ERROR): Tahap ini hanya akan menyebabkan ralat yang paling serius.
  1. Log ralat

Log ralat ialah satu lagi konfigurasi penting PHP. Apabila kod PHP dilaksanakan, ia mungkin menjana ralat, dan ralat ini dilog dalam log ralat, yang berguna untuk nyahpepijat.

Dalam pelayan apache anda boleh mengkonfigurasi log ralat dalam php.ini. Kod berikut mencatat ralat ke dalam "/var/log/php_errors.log":

error_log = /var/log/php_errors.log

Jika anda tidak mempunyai akses kepada php pada server. ini, anda boleh menggunakan kod berikut dalam kod PHP anda untuk mengkonfigurasi log ralat.

ini_set('error_log', 'my_error_log.log');

  1. Tunjukkan ralat

Dalam persekitaran pengeluaran, anda mungkin tidak perlu An mesej ralat dipaparkan. Dalam kes ini, anda boleh mematikan mesej ralat pada halaman. Untuk mematikan mesej ralat pada halaman, anda boleh mencari kod berikut dalam php.ini:

display_errors = On

Tukarnya kepada

display_errors = Off

Sebagai alternatif, gunakan kod berikut untuk mematikannya dalam kod:

ini_set('display_errors', 0);

  1. Kendalikan ralat

dalam PHP, anda boleh menggunakan fungsi set_error_handler() untuk menyesuaikan pengendali ralat. Sebagai contoh, kod berikut menggunakan pengendali ralat tersuai untuk mengelog ralat dan memberi pengguna mesej ralat mesra:

function myErrorHandler($errno, $errstr, $errfile, $errline)
{

error_log($errno.': '.$errstr.' in '.$errfile.' on line '.$errline);
echo ‘Sorry, something went wrong. Please try again later.’;

}

set_error_handler("myErrorHandler");

Apabila ralat berlaku dalam kod anda, fungsi myErrorHandler() dipanggil, yang merekodkan ralat dan menghasilkan pengguna -mesej ralat mesra.

Ringkasan

Dalam PHP, pengendalian ralat adalah penting kerana ia membantu anda mengelakkan banyak masalah nyahpepijat. Anda boleh mengawal mesej ralat PHP dengan menukar tahap mesej ralat, mengkonfigurasi pengelogan ralat dan menyesuaikan pengendali ralat. Jadikan PHP berfungsi dengan lebih baik, saya harap artikel ini akan membantu anda.

Atas ialah kandungan terperinci Mari kita bincangkan tentang konfigurasi yang berkaitan dengan gesaan ralat PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn