Apabila menulis tapak web menggunakan PHP, kami mungkin menghadapi beberapa ralat, seperti ralat sintaks, ralat pembolehubah atau ralat fungsi dalam kod. Ralat ini selalunya dipaparkan secara langsung pada halaman, menjejaskan estetika dan pengalaman pengguna tapak web.
Untuk menyelesaikan masalah ini, kami perlu mengalih keluar semua gesaan ralat PHP pada halaman. Di bawah, saya akan membincangkan beberapa cara untuk mencapai ini.
Kod PHP menjana laporan ralat secara lalai dan laporan ini biasanya dipaparkan terus pada halaman. Kita boleh menggunakan pernyataan berikut dalam kod PHP untuk mematikan pelaporan ralat:
error_reporting(0);
Pernyataan ini akan menetapkan pelaporan ralat kepada keadaan tertutup supaya maklumat ralat tidak akan dipaparkan pada halaman. Walau bagaimanapun, kaedah ini tidak disyorkan kerana ia hanya menyembunyikan masalah dan sebenarnya tidak menyelesaikan ralat. Apabila anda perlu menyahpepijat kod, anda perlu membuka laporan ralat untuk melihat mesej ralat.
Kami juga boleh melumpuhkan pelaporan ralat dengan menukar konfigurasi PHP. Dalam fail php.ini, anda boleh menemui baris kod:
display_errors = On
Tukar ia kepada:
display_errors = Off
Ini akan mematikan pelaporan ralat PHP pada semua halaman. Tetapi kaedah ini hanya berfungsi dengan tetapan global Jika anda ingin mematikan pelaporan ralat pada halaman tertentu, anda perlu menggunakan kaedah lain.
Dalam kod PHP, kita boleh menggunakan fungsi set_error_handler() untuk menentukan pengendali ralat. Fungsi ini mengambil fungsi tersuai sebagai parameter untuk mengendalikan ralat dalam kod. Contohnya, anda boleh mencipta fungsi yang mengendalikan ralat:
function customErrorHandler($errno, $errstr) { // 如果错误级别不是E_WARNING和E_NOTICE,就将错误输出到error.log文件 if ($errno != E_WARNING && $errno != E_NOTICE) { error_log($errstr, 3, 'error.log'); } }
Fungsi ini akan mengeluarkan semua ralat dengan tahap ralat ditetapkan kepada selain E_WARNING dan E_NOTICE kepada fail error.log. Untuk mendayakan fungsi ini, hanya gunakan kod berikut dalam kod anda:
set_error_handler('customErrorHandler');
Dengan cara ini, mesej ralat tidak akan dipaparkan pada halaman, tetapi mesej ralat akan dikeluarkan kepada fail yang ditentukan.
Jika anda menggunakan rangka kerja PHP, anda boleh menggunakan kaedah yang disediakan oleh rangka kerja untuk melumpuhkan pelaporan ralat. Contohnya, dalam rangka kerja Laravel, anda boleh menetapkan nyahpepijat kepada palsu dalam fail konfigurasi app.php:
'debug' => env('APP_DEBUG', false),
Ini akan mematikan pelaporan ralat untuk apl. Begitu juga, rangka kerja PHP lain boleh mematikan pelaporan ralat melalui fail konfigurasi atau kod.
Ringkasan
Apabila membangunkan tapak web PHP, pelaporan ralat mungkin menjejaskan pengalaman dan estetika pengguna. Masalah ini boleh diselesaikan dengan mematikan pelaporan ralat, menukar konfigurasi PHP, menyediakan pengendali ralat atau menggunakan rangka kerja untuk melumpuhkan pelaporan ralat. Sila ambil perhatian bahawa kami perlu menghidupkan pelaporan ralat semasa menyahpepijat kod supaya isu dapat dikenal pasti dan diselesaikan dengan segera.
Atas ialah kandungan terperinci php mengalih keluar mesej ralat dari halaman. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!