Rumah > Soal Jawab > teks badan
P粉1908832252023-08-24 14:59:54
Yang berikut membolehkan semua ralat:
ini_set('display_startup_errors', 1); ini_set('display_errors', 1); error_reporting(-1);
Lihat juga pautan di bawah
P粉5750559742023-08-24 14:00:05
Tunjukkan ralat dimatikan secara lalai kerana anda tidak mahu "pelanggan" melihat mesej ralat.
Lihat halaman ini dalam dokumentasi PHP untuk maklumat tentang 2 arahan: error_reporting
和 display_errors
。 display_errors
Mungkin pepijat yang anda ingin ubah.
Jadi anda ada 3 pilihan:
(1) Anda boleh menyemak fail log ralat kerana ia akan mengandungi semua ralat (melainkan pengelogan telah dilumpuhkan). Untuk mendayakan pengelogan ralat, pastikan anda menukar log_errors
配置指令设置为 On
. Log juga berguna apabila ralat tidak berlaku dalam PHP tetapi dikeluarkan oleh pelayan web.
(2) Anda boleh menambah dua baris berikut, yang akan membantu anda nyahpepijat ralat bukan sintaks yang berlaku dalam fail yang sama:
error_reporting(E_ALL); ini_set('display_errors', 'On');
Perhatikan bahawa pada pelayan langsung, yang terakhir harus ditetapkan kepada 关闭
(tetapi hanya yang terakhir, kerana anda masih perlu mengetahui dari fail log sebarang ralat yang berlaku).
Namun, untuk ralat sintaks yang berlaku dalam fail yang sama, arahan di atas tidak akan berfungsi dan anda perlu mendayakannya dalam php.ini. Jika anda tidak boleh mengubah suai php.ini, anda juga boleh cuba menambah baris berikut pada fail .htaccess anda, walaupun ini jarang disokong pada hari ini:
php_flag display_errors on php_value error_reporting -1
(3) Pilihan lain ialah menggunakan editor yang menyemak ralat semasa anda menaip, seperti PhpEd, VSCode atau PHPStorm. Mereka semua datang dengan penyahpepijat yang menyediakan maklumat yang lebih terperinci. (Penyahpepijat PhpEd sangat serupa dengan xdebug dan disepadukan terus ke dalam editor supaya anda boleh melakukan semuanya dengan 1 program.)