Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk mencetak mesej ralat PHP
Memandangkan PHP digunakan semakin meluas, pembangun sering menghadapi pelbagai ralat. Pada masa ini, output mesej ralat yang betul boleh membantu kami mencari masalah dengan lebih cepat dan lebih tepat. Dalam artikel ini, kami akan memperkenalkan cara mencetak mesej ralat PHP supaya anda boleh nyahpepijat aplikasi anda dengan lebih baik.
1. Mengapa anda perlu mencetak mesej ralat PHP?
Semasa proses pembangunan, program sering menghadapi pelbagai ralat ini biasanya mengandungi beberapa maklumat penting, seperti kod ralat, nombor baris ralat, nama fail ralat, dsb. Mencetak mesej ralat ini boleh membantu kami memahami dan menjejaki masalah dengan lebih baik supaya kami dapat menyelesaikannya dengan lebih cepat.
Selain itu, output mesej ralat yang betul juga boleh membantu kami mencari isu keselamatan yang berpotensi, seperti suntikan SQL, serangan skrip merentas tapak, dsb. Jika kami boleh mengeluarkan mesej ralat dengan betul, kami boleh mengesan kelemahan keselamatan ini lebih awal dan membetulkannya tepat pada masanya.
2. Bagaimana untuk mencetak mesej ralat PHP?
Dalam PHP, kami boleh menggunakan dua kaedah berikut untuk mencetak maklumat ralat:
Dalam PHP, kami Anda boleh menggunakan fungsi ini_set() untuk mengubah suai item konfigurasi secara dinamik dalam fail php.ini. Dengan mengubah suai nilai item konfigurasi display_errors, kami boleh mencetak maklumat ralat PHP. Kod sampel adalah seperti berikut:
<?php ini_set('display_errors', 'On'); // 开启错误信息输出 echo $var; // 这里会出现一个未定义变量的错误 ?>
Kod di atas akan mengeluarkan mesej ralat pembolehubah yang tidak ditentukan, yang kandungannya adalah seperti berikut:
Notice: Undefined variable: var in /path/to/file.php on line X
Di mana, Notis bermaksud mesej gesaan, Pembolehubah tidak ditentukan: var mewakili pembolehubah tidak ditentukan, /path/to/file.php mewakili fail ralat, dan baris X mewakili baris di mana ralat berlaku.
Selain menggunakan fungsi ini_set(), kami juga boleh mengubah suai terus fail php.ini untuk mencetak mesej ralat PHP . Kita boleh mencari item konfigurasi display_errors dan menetapkannya kepada Hidup. Kod sampel adalah seperti berikut:
display_errors = On
Selepas mengubah suai fail php.ini, kami perlu memulakan semula perkhidmatan Apache atau PHP-FPM untuk berkuat kuasa.
3. Bagaimana untuk mengehadkan output mesej ralat PHP?
Walaupun output mesej ralat PHP sangat berguna untuk menyahpepijat aplikasi, mengeluarkan mesej ralat dalam persekitaran pengeluaran mungkin mendedahkan beberapa maklumat sensitif yang penting. Oleh itu, dalam persekitaran pengeluaran, kami boleh mengehadkan output maklumat ralat PHP dalam dua cara berikut:
Kami boleh mengubah suai ia oleh Fail php.ini menetapkan item konfigurasi display_errors kepada Mati supaya PHP tidak akan mengeluarkan sebarang mesej ralat. Kaedah ini sesuai untuk melindungi persekitaran pengeluaran, tetapi tidak begitu mesra untuk aplikasi penyahpepijatan.
Selain menetapkan item konfigurasi display_errors kepada Mati, kami juga boleh mengeluarkan maklumat ralat PHP ke fail log . Kita boleh menggunakan fungsi error_log() untuk menulis maklumat ralat PHP pada fail log, supaya walaupun ralat berlaku, maklumat sensitif tidak akan didedahkan. Dalam persekitaran pengeluaran, ini adalah strategi yang lebih baik. Kod sampel adalah seperti berikut:
<?php error_reporting(E_ALL); ini_set('display_errors', 'Off'); ini_set('log_errors', 'On'); ini_set('error_log', '/path/to/error.log'); // 这里会出现一个未定义变量的错误 echo $var; ?>
Kod di atas akan menulis maklumat ralat ke fail log yang ditentukan Kami boleh menjejaki masalah dengan melihat fail log.
4. Ringkasan
Keluaran mesej ralat yang betul ialah kunci kepada penyahpepijatan program, yang boleh membantu kami mencari masalah dengan lebih cepat dan lebih tepat. Dalam PHP, kami boleh mengeluarkan maklumat ralat melalui fungsi ini_set() dan mengubah suai fail php.ini. Pada masa yang sama, dalam persekitaran pengeluaran, kami boleh mengeluarkan maklumat ralat ke fail log untuk mengelakkan kebocoran maklumat sensitif.
Atas ialah kandungan terperinci Bagaimana untuk mencetak mesej ralat PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!