Rumah > Soal Jawab > teks badan
P粉6086470332023-08-21 13:56:06
Kod berikut membolehkan semua ralat:
ini_set('display_startup_errors', 1); ini_set('display_errors', 1); error_reporting(-1);
Boleh juga rujuk pautan berikut:
P粉8173547832023-08-21 00:11:04
Tunjukkan ralat dimatikan secara lalai kerana anda tidak mahu "pelanggan" melihat mesej ralat.
Sila lihat halaman ini dalam dokumentasi PHP untuk mendapatkan maklumat tentang dua arahan: error_reporting
和display_errors
。您可能想更改的是display_errors
.
Jadi anda ada 3 pilihan:
(1) Anda boleh menyemak fail log ralat kerana ia akan mengandungi semua ralat (melainkan pengelogan dilumpuhkan). Untuk mendayakan pengelogan ralat, pastikan log_errors
配置指令设置为On
. Log juga membantu apabila ralat tidak disebabkan oleh PHP tetapi oleh pelayan web.
(2) Anda boleh menambah 2 baris kod berikut untuk membantu anda menyahpepijat ralat bukan sintaks yang berlaku dalam fail yang sama:
error_reporting(E_ALL); ini_set('display_errors', 'On');
Perhatikan bahawa pada pelayan pengeluaran, yang terakhir harus ditetapkan kepada Off
(tetapi hanya yang terakhir, kerana anda masih perlu mengetahui dari fail log semua 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 fail php.ini, anda juga boleh cuba menambah baris berikut pada fail .htaccess anda, walaupun ini jarang disokong sekarang:
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 memberikan maklumat yang lebih terperinci. (Penyahpepijat PhpEd sangat serupa dengan xdebug dan disepadukan terus ke dalam editor, jadi anda boleh melakukan semuanya dengan satu program.)