Mesej Ralat Tersuai dengan Gagal mysqli_connect
Apabila cuba menyambung ke pangkalan data, mysqli_connect digunakan untuk memaparkan mesej ralat yang dihasilkan oleh bahasa, tetapi tingkah laku ini berubah dengan PHP 8.1. Kini, mysqli memberikan pengecualian pada ralat, menghapuskan keperluan untuk pengendalian ralat manual.
Mesej Ralat Tersuai Tidak Produktif
Menggunakan mesej ralat tersuai untuk ralat sambungan adalah tidak disyorkan. Pengesanan dan pengendalian ralat harus dikendalikan secara automatik oleh mysqli atau PDO, tanpa memerlukan manual jika semakan. Memaparkan mesej ralat tersuai boleh menjejaskan keselamatan pengguna dan memberikan butiran yang tidak diperlukan.
Ralat Mengendalikan Amalan Terbaik
Untuk menyembunyikan mesej ralat daripada pengguna, tetapkan display_errors pilihan konfigurasi kepada 0 dalam php.ini atau kod PHP anda:
<code class="php">ini_set('display_errors', 0);</code>
Selain itu, laksanakan pengendali ralat untuk memaparkan halaman ralat generik untuk ralat yang tidak boleh dipulihkan:
<code class="php">set_exception_handler(function ($e) { error_log($e); http_response_code(500); if (ini_get('display_errors')) { echo $e; } else { echo '<h1>500 Internal Server Error</h1><br>An internal server error has been occurred.<br>Please try again later.'; } });</code>
Ralat HTTP 500
Apabila halaman tidak dapat menghantar kandungan disebabkan oleh ralat pelayan, ia harus bertindak balas dengan kod HTTP 500. Ini adalah perlu untuk pengendalian ralat yang betul dan bukan sesuatu yang harus dihalang.
Menangkap Ralat Sambungan untuk Senario Tertentu
Dalam beberapa kes, mungkin perlu untuk menangkap ralat sambungan secara eksplisit. Ini boleh dicapai menggunakan cubaan..tangkap blok sekitar percubaan sambungan apabila senario pengendalian melangkaui pelaporan ralat.
Menyembunyikan Bukti Kelayakan Sambungan
Untuk mengelakkan kata laluan pangkalan data sulit daripada terdedah dalam surih tindanan, kemas kini PHP kepada versi 8.2 atau lebih baru, yang menyembunyikan maklumat sedemikian.
Atas ialah kandungan terperinci ## Cara Mengendalikan Ralat Sambungan Pangkalan Data dalam PHP 8.1 dan Seterusnya: Amalan Terbaik dan Pertimbangan Keselamatan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!