Rumah >pembangunan bahagian belakang >tutorial php >Kemahiran pengendalian dan penyahpepijatan PHP

Kemahiran pengendalian dan penyahpepijatan PHP

王林
王林asal
2024-05-03 18:21:01757semak imbas

Kemahiran pengendalian dan penyahpepijatan ralat PHP termasuk: Jenis ralat: E_ERROR, E_WARNING, E_NOTICE Fungsi pengendalian ralat: register_shutdown_function(), set_error_handler(), error_get_last() Fungsi pengendalian ralat tersuai: digunakan untuk merekod atau mengendalikan ralat dan menghalang program daripada menamatkan ralat Petua penyahpepijatan: Semak log, gunakan pengendalian pengecualian, dayakan PHP untuk memaparkan ralat, gunakan penyahpepijat dalam talian

PHP 错误处理与调试技巧

Petua Pengendalian dan Penyahpepijatan PHP

Pengendalian ralat dalam PHP adalah penting untuk membangunkan aplikasi yang mantap dan boleh dipercayai. Berikut ialah beberapa petua untuk membantu anda mengendalikan dan menyahpepijat ralat PHP dengan berkesan:

Jenis Ralat

Ralat PHP terbahagi kepada jenis berikut:

  • E_ERROR: Ralat yang serius dan program tidak dapat meneruskan pelaksanaan.
  • E_WARNING: Ralat bukan kritikal, tetapi boleh membawa kepada tingkah laku yang tidak dijangka.
  • E_NOTICE: Ralat tidak kritikal, biasanya menunjukkan penggunaan PHP yang tidak betul.

Fungsi pengendalian ralat

PHP menyediakan fungsi pengendalian ralat berikut:

  • register_shutdown_function(): Dipanggil pada penghujung pelaksanaan skrip untuk melaporkan ralat yang membawa maut.
  • set_error_handler(): Tetapkan fungsi tersuai untuk mengendalikan ralat.
  • error_get_last(): Dapatkan maklumat ralat terkini.

Contoh Fungsi Pengendalian Ralat

Berikut ialah contoh fungsi pengendalian ralat yang mencatat ralat maut ke fail log:

function error_handler(int $errno, string $errstr, string $errfile, int $errline)
{
    $message = sprintf("Error (%d): %s in %s on line %d", $errno, $errstr, $errfile, $errline);
    file_put_contents('error_log.txt', $message);
}

Menggunakan Fungsi Pengendalian Ralat Tersuai

, Sila gunakan fungsi pengendalian ralat tersuai panggil

pada permulaan skrip anda: set_error_handler()

set_error_handler('error_handler');

Petua Penyahpepijatan Ralat

Berikut ialah beberapa petua untuk membantu anda menyahpepijat ralat PHP:

    Semak log pelayan.
  • Gunakan pengendalian pengecualian.
  • Dayakan PHP untuk menunjukkan ralat.
  • Gunakan penyahpepijat dalam talian.

Contoh Praktikal

Andaikan anda mempunyai skrip PHP yang cuba membaca fail yang tidak wujud. Ralat ini mengakibatkan ralat maut.

$file = "/path/to/non-existent-file.txt";
$contents = file_get_contents($file);

Untuk mengendalikan ralat ini, anda boleh menggunakan fungsi pengendalian ralat tersuai:

function error_handler(int $errno, string $errstr, string $errfile, int $errline)
{
    if ($errno === E_ERROR) {
        // 记录错误
    }
}

set_error_handler('error_handler');

Dengan cara ini, apabila skrip cuba membaca fail yang tidak wujud, ralat akan dilog dan atur cara akan meneruskan pelaksanaan.

Atas ialah kandungan terperinci Kemahiran pengendalian dan penyahpepijatan 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