Rumah > pembangunan bahagian belakang > tutorial php > Petua Pantas: Cara Mengurus Pelaporan Ralat di PHP

Petua Pantas: Cara Mengurus Pelaporan Ralat di PHP

Christopher Nolan
Lepaskan: 2025-02-08 09:02:14
asal
960 orang telah melayarinya

Quick Tip: How to Manage Error Reporting in PHP

Artikel ini akan meneroka kemahiran pelaporan ralat PHP dan memperkenalkan cara menggunakan alat PHP untuk mengendalikan kesilapan dengan cara yang dapat dikawal, dengan itu menjimatkan masa debugging.

PHP pada dasarnya adalah bahasa pengaturcaraan "pengecualian ringan". Ini bermakna bahawa, walaupun ia menyokong pengendalian pengecualian, skrip terus dilaksanakan kecuali kesalahan maut berlaku, tidak kira apa yang berlaku.

Contoh:

<?php   echo $sitepoint;
Salin selepas log masuk
Salin selepas log masuk
Kod di atas akan mengembalikan mesej berikut:

<code>Notice: Undefined variable: sitepoint in PHP shell code on line 1</code>
Salin selepas log masuk
PHP hanya akan membuang ralat pemberitahuan dan terus melaksanakan dengan gembira. Bahasa "Pengecualian Heavyweight" (seperti Python) membuang kesilapan dan menghentikan pelaksanaan.

Oleh itu, pemaju PHP mesti mengambil perhatian tambahan semasa menulis kod. Keputusan yang tidak dijangka mungkin berlaku semasa pelaksanaan program kerana pemberitahuan tidak akan berhenti melaksanakan, tetapi mungkin mempengaruhi tingkah laku program yang betul.

Sebelum memperkenalkan cara menyesuaikan gaya pelaporan ralat PHP, mari kita mula -mula memahami beberapa tahap keparahan ralat PHP.

PHP mempunyai tiga jenis mesej utama: ralat, pemberitahuan, dan amaran. Mereka mewakili tahap keparahan yang berbeza: e_error, e_notice, dan e_warning.

Kesalahan adalah kesilapan runtime maut, biasanya disebabkan oleh kegagalan dalam kod. Ini akan menyebabkan PHP menghentikan pelaksanaan.

    Pemberitahuan disebabkan oleh kod yang mungkin atau tidak boleh menyebabkan masalah (mis., Pembolehubah yang tidak ditentukan). Ini tidak menyebabkan pelaksanaan berhenti.
  • Amaran adalah ralat maut, pelaksanaan skrip tidak akan berhenti.
  • ralat pembalakan dalam php
Secara lalai, PHP tidak log sebarang kesilapan. Untuk melakukan ini, kita perlu membuka pembolehubah Display_Errors dalam fail konfigurasi PHP (fail php.ini) untuk secara eksplisit menunjukkannya untuk memulakan pembalakan.

Dalam fail ini, kita juga boleh memberitahu PHP sama ada kita mahu log pemberitahuan dan amaran, dan di mana log ini harus dilog masuk.

juga boleh mencetuskan pembalakan dalam kod. Untuk melakukan ini, kita boleh menggunakan fungsi error_log (). Oleh kerana pembalakan ralat bukanlah tumpuan artikel ini, sila lihat di sini untuk maklumat lanjut.

Tukar laporan ralat php

kita boleh menggunakan fungsi error_reporting () untuk mengubah tingkah laku pelaporan ralat php lalai. Menggunakan fungsi ini, kita boleh menetapkan tahap ralat tempoh skrip. Ini dilakukan dengan meluluskan satu atau lebih pemalar kesilapan yang telah ditetapkan untuk fungsi tersebut.

Contohnya, jika kita mahu melihat bukan sahaja kesilapan tetapi juga pemberitahuan, kita boleh menggunakan:

Dengan perisytiharan ini, pelaksanaan skrip tidak hanya akan berhenti apabila ralat berlaku, tetapi juga apabila pemberitahuan berlaku.

menindas ralat
<?php error_reporting(E_ERROR | E_NOTICE);
Salin selepas log masuk

kita juga boleh menggunakan pengendali kawalan ralat (@) untuk memberitahu PHP untuk menindas kesilapan tertentu. Dengan meletakkan pengendali ini pada permulaan ungkapan, sebarang kesilapan yang merupakan hasil langsung dari ungkapan akan diproses secara senyap:

Jika $ SitePoint wujud, ini mengeluarkan nilai $ sitepoint, tetapi jika ia tidak wujud, ia mengembalikan null dan tidak mencetak apa -apa (bukannya membuang pemberitahuan).

Berhati -hati apabila menggunakan pengendali ini, kerana ia akan menyembunyikan kesilapan sepenuhnya. Bukan sahaja ralat tidak akan dipaparkan, tetapi ia tidak akan dihantar ke log ralat. Walaupun ini seolah -olah tidak berbahaya, menggunakan pengendali ini topeng masalah struktur yang lebih dalam dalam kod dan topeng yang berpotensi salah tingkah laku.

Gunakan PHP sebagai bahasa "Pengecualian Berat Heavyweight"

Akhirnya, PHP juga boleh digunakan sebagai bahasa pengaturcaraan "pengecualian berat". Kesalahan PHP biasa boleh dibuang sebagai pengecualian menggunakan kelas ERRORException yang memanjangkan kelas pengecualian PHP.

Dalam contoh berikut, fungsi yang ditentukan oleh pengguna RalatHandler () ditetapkan sebagai pengendali ralat, menggunakan fungsi set_error_handler (). Apabila ralat maut berlaku kerana fungsi file_get_contents () tidak dapat mencari fail, ia melemparkan errorException:

Menggunakan kaedah ini, kita boleh mengendalikan kesilapan pelaksanaan seperti yang kita lakukan dengan pengecualian, membungkusnya dalam percubaan ... menangkap pernyataan, dan memberikan arahan yang sesuai tentang cara melakukannya dalam kes ini.
<?php   echo $sitepoint;
Salin selepas log masuk
Salin selepas log masuk

Kesimpulan

Semua dalam semua, PHP boleh mengendalikan kesilapan dengan cara yang sangat longgar. Ia bergantung kepada pemaju kami menggunakan alat sedia ada untuk mengendalikannya dengan lebih baik supaya kami dapat memanfaatkan sepenuhnya bahasa. Dengan menggunakan set alat ini, kita boleh mengendalikan kesilapan dengan cara yang terkawal, menjimatkan masa debugging.

soalan yang sering ditanya mengenai menguruskan laporan ralat dalam php

Apakah laporan pepijat dalam PHP?

Pelaporan ralat dalam PHP merujuk kepada proses mengesan dan mengendalikan kesilapan atau pengecualian yang berlaku semasa pelaksanaan kod PHP. Kesilapan mungkin termasuk kesilapan sintaks, kesilapan runtime, dan kesilapan logik.

Bagaimana untuk membolehkan pelaporan ralat dalam php?

anda boleh mengaktifkan pelaporan ralat dalam php dengan menetapkan arahan konfigurasi error_reporting dalam skrip php atau fail konfigurasi php.ini. Anda juga boleh menggunakan fungsi error_reporting untuk mengubah tahap pelaporan secara dinamik dalam kod anda.

Bagaimana menangani kesilapan PHP dengan anggun?

Anda boleh mengendalikan ralat dengan anggun dengan menggunakan cuba ... menangkap blok dan gunakan pernyataan bersyarat untuk memeriksa keadaan ralat sebelum terus melaksanakan kod tersebut.

Apakah fungsi PHP Trigger_error?

Fungsi Trigger_error digunakan untuk menjana mesej ralat peringkat pengguna. Anda boleh menggunakan fungsi ini untuk membuat mesej ralat tersuai dan mencetuskannya dalam kod anda.

Bagaimana untuk log ralat PHP untuk debug dan analisis?

anda boleh menggunakan fungsi error_log untuk log ralat PHP ke fail. Di samping itu, anda boleh mengkonfigurasi PHP untuk log ralat ke fail tertentu dengan mengubahsuai arahan error_log dalam konfigurasi php.ini.

Atas ialah kandungan terperinci Petua Pantas: Cara Mengurus Pelaporan Ralat di PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan