PHP ialah bahasa pengaturcaraan sumber terbuka yang digunakan secara meluas. Ia mempunyai keupayaan kompilasi yang kuat Walau bagaimanapun, ia tidak dapat dielakkan untuk menghadapi pelbagai ralat semasa proses pembangunan. Untuk mencari dan menyelesaikan ralat ini dengan cepat, anda perlu mendapatkan maklumat output ralat semasa pelaksanaan kod PHP. Artikel ini akan memperkenalkan cara mendapatkan maklumat output ralat semasa pelaksanaan kod PHP.
1. Gunakan fungsi error_reporting
PHP menyediakan fungsi error_reporting, yang boleh digunakan untuk menetapkan tahap pelaporan ralat kod PHP. Dalam pembangunan kod dan penyahpepijatan, error_reporting boleh ditetapkan kepada E_ALL untuk menangkap semua maklumat ralat dalam kod tepat pada masanya. Seperti berikut:
error_reporting(E_ALL);
Selepas menetapkan error_reporting, kemudian tambah cuba...tangkap... pada kod untuk mendapatkan maklumat ralat semasa pelaksanaan kod PHP. Seperti berikut:
try{ // your code here }catch(Exception $e){ echo $e->getMessage(); }
Melalui pernyataan tangkapan, ralat yang dijana semasa pelaksanaan kod boleh ditangkap, dan kemudian maklumat ralat dikeluarkan melalui pernyataan gema supaya pengaturcara boleh mencari dan membaikinya. Ambil perhatian bahawa dalam persekitaran pengeluaran, output pelaporan ralat harus dimatikan untuk mengelakkan maklumat bocor.
2. Gunakan fungsi set_error_handler
Selain menggunakan try...catch..., anda juga boleh menggunakan fungsi set_error_handler untuk mendapatkan maklumat ralat semasa pelaksanaan kod PHP. Fungsi set_error_handler digunakan untuk mendaftarkan pengendali ralat tersuai Apabila kod PHP menghasilkan ralat, pengendali ralat tersuai akan dipanggil untuk mengendalikan ralat. Seperti berikut:
function customError($errno, $errstr){ echo "<b>Error:</b> [$errno] $errstr<br>"; } set_error_handler("customError");
Dalam contoh di atas, apabila ralat berlaku dalam kod PHP, customError pengendali ralat tersuai akan dipanggil untuk mengeluarkan mesej ralat. Pengendali ralat tersuai mesti menerima dua parameter, $errno dan $errstr, masing-masing mewakili jenis ralat dan mesej ralat. Pengendali ralat tersuai biasanya harus ditulis dalam fail PHP yang berasingan dan disertakan dalam kod sebelum melaksanakan kod PHP.
Perlu diambil perhatian bahawa fungsi set_error_handler hanya boleh menangkap ralat yang dijana oleh PHP, tetapi tidak boleh menangkap amaran dan pemberitahuan yang dijana semasa PHP sedang berjalan. Jika anda perlu menangkap maklumat amaran dan pemberitahuan, anda boleh menggunakan parameter ketiga fungsi set_error_handler, yang menentukan jenis ralat yang boleh dilaporkan.
3. Gunakan fungsi log_errors dan error_log
Selain menggunakan kaedah di atas, anda juga boleh menangkap maklumat ralat melalui fungsi log_errors dan error_log PHP. Fungsi log_errors digunakan untuk menetapkan sama ada untuk menulis maklumat ralat pada fail log PHP, dan kemudian menulis maklumat ralat pada fail log melalui fungsi error_log. Seperti berikut:
ini_set('log_errors', 'On'); ini_set('error_log', '/path/to/log/file.log'); // your code here error_log($error_message);
Dalam contoh di atas, log_errors ditetapkan kepada Hidup melalui fungsi ini_set, yang bermaksud bahawa maklumat ralat yang dijana akan direkodkan dalam fail log PHP. Menentukan error_log sebagai laluan fail log melalui fungsi ini_set bermakna menyimpan maklumat ralat ke fail log yang ditentukan oleh laluan. Dalam kod, hantar parameter $error_message melalui fungsi error_log untuk merekodkan maklumat ralat ke fail log yang ditentukan.
Perlu diambil perhatian bahawa dalam persekitaran pengeluaran, fail log hendaklah ditetapkan kepada kebenaran baca sahaja untuk menghalang orang lain daripada mengubah suai kandungan fail log. Pada masa yang sama, fail log perlu disimpan untuk tempoh masa yang cukup lama untuk memudahkan penyelesaian masalah dan analisis apabila masalah berlaku.
Kesimpulan
Tiga kaedah di atas boleh membantu pengaturcara mendapatkan maklumat output ralat kod PHP. Dengan mendapatkan maklumat ralat semasa pelaksanaan kod PHP, pengaturcara boleh mencari dan menyelesaikan masalah dengan lebih cepat dan memastikan kestabilan dan keselamatan aplikasi PHP. Perlu diingatkan bahawa dalam persekitaran pengeluaran, paparan maklumat output ralat harus dihadkan untuk mengelakkan kebocoran maklumat sensitif. Pada masa yang sama, keselamatan maklumat keluaran ralat juga harus dipastikan untuk mengelakkan penggodam daripada menyerang maklumat keluaran ralat.
Atas ialah kandungan terperinci Dapatkan maklumat output ralat semasa pelaksanaan kod PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!