Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk menyekat semua ralat dalam php.ini
Cara menyekat semua ralat dalam php.ini: 1. Buka fail konfigurasi "php.ini" dan cari item "display_errors" di dalamnya 2. Tetapkan nilai item "display_errors" kepada "Mati". Semua pelaporan ralat PHP boleh dimatikan, dengan itu menyekat semua ralat.
Persekitaran pengendalian tutorial ini: sistem windows7, versi PHP7.1, komputer DELL G3
Sekat semua ralat dalam php Kaedah .ini:
Buka fail konfigurasi php.ini, cari display_errors di dalamnya dan kemudian tetapkan nilai display_errors kepada Off untuk mematikan semua pelaporan ralat PHP. Seperti yang ditunjukkan di bawah:
; This directive controls whether or not and where PHP will output errors, ; notices and warnings too. Error output is very useful during development, but ; it could be very dangerous in production environments. Depending on the code ; which is triggering the error, sensitive information could potentially leak ; out of your application such as database usernames and passwords or worse. ; For production environments, we recommend logging errors rather than ; sending them to STDOUT. ; Possible Values: ; Off = Do not display any errors ; stderr = Display errors to STDERR (affects only CGI/CLI binaries!) ; On or stdout = Display errors to STDOUT ; Default Value: On ; Development Value: On ; Production Value: Off ; http://php.net/display-errors display_errors = Off
Kaedah ini harus menjadi penyelesaian yang paling teliti, kerana ia digunakan untuk semua fail PHP.
Pengetahuan lanjutan: Cara lain untuk menutup ralat
Gunakan operator kawalan ralat: @
PHP menyokong penggunaan pengendali kawalan ralat @. Letakkannya sebelum ungkapan PHP dan sebarang mesej ralat yang mungkin dihasilkan oleh ungkapan itu akan diabaikan.
Jika fungsi pengendalian ralat tersuai ditetapkan dengan set_error_handler(), fungsi pengendalian ralat ini masih akan dipanggil dan jika @ digunakan sebelum pernyataan ralat, fungsi pengendalian ralat akan mengembalikan 0.
Perlu diambil perhatian bahawa pengendali @ hanya sah untuk ungkapan. Ringkasnya, jika anda boleh mendapatkan nilai dari suatu tempat, anda boleh menambah pengendali @ di hadapannya. Sebagai contoh, pengendali @ boleh digunakan sebelum pembolehubah, fungsi, termasuk panggilan, pemalar, dsb., tetapi ia tidak boleh diletakkan sebelum takrif fungsi atau kelas, dan ia juga tidak boleh digunakan sebelum struktur bersyarat seperti pernyataan if dan foreach . Operator
@ juga berkesan untuk ralat serius yang boleh menyebabkan program ditamatkan Ini bermakna jika @ digunakan untuk menyekat mesej ralat sebelum panggilan fungsi yang tidak wujud atau mempunyai huruf yang salah, program akan Mati di sana tanpa sebarang petunjuk.
[Contoh] Gunakan pengendali kawalan @ ralat untuk menutup ralat dalam kod.
<?php $link = @mysqli_connect("127.0.0.1", "my_user", "my_password", "my_db") or die('数据库连接失败!'); ?>
Keputusan berjalan adalah seperti berikut:
数据库连接失败!
Pembelajaran yang disyorkan: "Tutorial Video PHP"
Atas ialah kandungan terperinci Bagaimana untuk menyekat semua ralat dalam php.ini. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!