Kaedah tetapan: Buka fail php.ini dan tetapkan "error_reporting=E_ALL", "display_errors=Off", "log_errors=On", "error_log = E:/php_log/php_error.log", dsb.
Persekitaran pengendalian tutorial ini: sistem windows7, versi PHP7.1, komputer DELL G3
Untuk pembangun PHP, sekali tertentu Bila projek itu mula digunakan, pilihan display_errors dalam fail konfigurasi php.ini hendaklah dimatikan serta-merta untuk mengelakkan daripada diserang oleh penggodam disebabkan laluan, sambungan pangkalan data, jadual data dan maklumat lain yang didedahkan oleh ralat ini. Tetapi selepas mana-mana projek digunakan, ralat pasti akan berlaku, jadi bagaimana untuk merekodkan beberapa laporan ralat yang berguna kepada pembangun?
Kami boleh log laporan ralat dalam fail teks berasingan. Rakaman log ralat boleh membantu pembangun atau pengurus menyemak sama ada terdapat masalah dengan sistem. Jika anda perlu menulis laporan ralat dalam program ke log ralat, hanya hidupkan log_errors item konfigurasi dalam fail konfigurasi PHP.
Laporan ralat akan dilog masuk ke fail log pelayan web secara lalai, contohnya, ke fail log ralat error.log pelayan Apache. Sudah tentu, log ralat juga boleh direkodkan ke fail tertentu.
Gunakan fail yang ditentukan untuk merekod log laporan ralat
Jika anda ingin menggunakan fail anda sendiri yang ditentukan untuk merekodkan log ralat, jadi pastikan untuk memastikan bahawa fail ini disimpan di luar akar dokumen untuk mengurangkan kemungkinan diserang. Dan fail mesti memberi kebenaran menulis skrip PHP. Andaikan bahawa dalam sistem pengendalian Linux, fail error.log dalam direktori /usr/local/ digunakan sebagai fail log ralat dan pengguna proses pelayan web ditetapkan untuk mempunyai kebenaran menulis. Kemudian dalam fail konfigurasi PHP, tetapkan nilai arahan error_log kepada laluan mutlak fail log ralat.
Anda perlu membuat pengubahsuaian berikut pada arahan konfigurasi dalam php.ini:
error_reporting = E_ALL // 将会向PHP报告发生的每个错误 display_errors = Off // 不显示满足上条 指令所定义规则的所有错误报告 log_errors = On // 决定日志语句记录的位置 log_errors_max_len = 1024 // 设置每个日志项的最大长度 error_log = E:/php_log/php_error.log // 指定产生的错误报告写入的日志文件位置
Selepas fail konfigurasi PHP ditetapkan seperti di atas, mulakan semula pelayan web. Dengan cara ini, apabila melaksanakan sebarang fail skrip PHP, semua laporan ralat yang dijana tidak akan dipaparkan dalam penyemak imbas, tetapi akan direkodkan dalam log ralat E:/php_log/php_error.log yang ditentukan oleh anda.
Selain itu, bukan sahaja semua ralat yang memenuhi peraturan yang ditakrifkan oleh error_reporting boleh dilog, tetapi fungsi error_log() dalam PHP juga boleh digunakan untuk menghantar maklumat ralat ke log ralat pelayan web atau ke sebuah fail.
Prototaip fungsi error_log() adalah seperti berikut:
error_log ( string $message [, int $message_type = 0 [, string $destination [, string $extra_headers ]]] ) : bool
Penerangan parameter adalah seperti berikut:
Pembelajaran yang disyorkan: "
Tutorial Video PHP<?php $link = mysqli_connect("127.0.0.1", "my_user", "my_password", "my_db"); if (!$link) { error_log('Mysql 数据库连接失败!',0); exit(); } ?>
Atas ialah kandungan terperinci Bagaimana untuk menyediakan log ralat dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!