Bagaimana untuk mendapatkan mesej ralat dalam PHP

PHPz
Lepaskan: 2023-04-04 10:40:01
asal
444 orang telah melayarinya

PHP ialah bahasa skrip bahagian pelayan yang digunakan secara meluas yang mudah dipelajari dan sangat fleksibel. Walau bagaimanapun, seperti semua bahasa pengaturcaraan, PHP juga mempunyai kekurangan dan ralatnya, seperti ralat sintaks dan ralat logik. Semasa proses pembangunan dan penyahpepijatan, adalah penting untuk mendapatkan dan menyelesaikan mesej ralat ini tepat pada masanya. Artikel ini akan memperkenalkan cara mendapatkan maklumat ralat dalam PHP.

1. Hidupkan mesej ralat PHP

Dalam PHP, mesej ralat tidak akan dikeluarkan secara lalai Anda perlu mengkonfigurasi fail php.ini untuk mendayakan output mesej ralat. Anda boleh membuka fail php.ini dan mencari dua baris kekunci berikut:

display_errors = Off
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
Salin selepas log masuk

Tukar display_errors = Off kepada display_errors = On, dan kemudian tukar baris error_reporting kepada:

error_reporting = E_ALL
Salin selepas log masuk

Ini akan membolehkan semua pelaporan ralat, termasuk semua peringkat ralat. Selepas menghidupkan maklumat ralat, setiap ralat dalam skrip PHP akan dikeluarkan pada halaman web, termasuk amaran, gesaan dan ralat maut.

2. Dapatkan maklumat ralat PHP terkini

Dalam skrip PHP, anda boleh menggunakan fungsi error_get_last() PHP sendiri untuk mendapatkan maklumat ralat terkini. Fungsi ini mengembalikan tatasusunan yang mengandungi jenis maklumat ralat, mesej, laluan fail, dsb.

Berikut ialah contoh:

<?php
echo $test;
print_r(error_get_last());
?>
Salin selepas log masuk

Dalam kod di atas, pembolehubah $test tidak ditakrifkan, oleh itu, ini akan mengakibatkan ralat yang membawa maut. Mesej ralat ini akan disimpan sebagai ralat terakhir dan kemudian diambil melalui fungsi error_get_last() Hasil output adalah seperti berikut:

Array
(
    [type] => 8
    [message] => Undefined variable: test
    [file] => /var/www/html/test.php
    [line] => 2
)
Salin selepas log masuk

3. Daftarkan pengendali ralat

Selain itu. untuk menggunakan error_get_last()Selain fungsi, anda juga boleh mendapatkan maklumat ralat dengan mendaftarkan pengendali ralat. PHP menyediakan fungsi set_error_handler() untuk menyesuaikan tingkah laku PHP apabila ralat berlaku. Fungsi ini perlu menerima sebagai parameternya nama fungsi yang boleh digunakan untuk mengendalikan ralat yang ditangkap.

Berikut ialah contoh:

<?php
function error_handler($errno, $errstr, $errfile, $errline) {
    echo "Error: [$errno] $errstr - $errfile:$errline";
}

set_error_handler("error_handler");

echo $test;
?>
Salin selepas log masuk

Dalam kod di atas, kami telah menentukan fungsi bernama error_handler() untuk mengendalikan ralat. Kemudian hantar nama fungsi itu ke fungsi set_error_handler() untuk mendaftarkannya. Ini akan mengakibatkan ralat maut apabila pembolehubah $test tidak ditakrifkan. Pengendali ralat akan menangkap ralat dan mengeluarkan hasil berikut:

Error: [8] Undefined variable: test - /var/www/html/test.php:7
Salin selepas log masuk

4. Kesimpulan

Dalam proses membangunkan skrip PHP, adalah penting untuk mendapatkan dan mengendalikan maklumat ralat dalam tepat pada masanya. Pelbagai kaedah, daripada menghidupkan mesej ralat PHP kepada mendapatkan mesej ralat PHP terkini, dan menggunakan pengendali ralat berdaftar, boleh membantu kami mengendalikan dan nyahpepijat ralat dalam pembangunan PHP dengan lebih baik.

Atas ialah kandungan terperinci Bagaimana untuk mendapatkan mesej ralat dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!