Log ralat pengendalian ralat PHP
Di sesetengah syarikat, terdapat sistem pengumpulan log khas. Sistem pengumpulan log secara senyap akan membantu anda mengumpul ralat, amaran dan gesaan di sebalik tabir.
Terdapat juga beberapa syarikat yang tidak mempunyai sistem pengumpulan log khusus dan mengumpul log yang sedang berjalan dari pelayan melalui fail.
Antaranya: Ralat PHP dan amaran mesti diterima.
Kemudian persoalan muncul - jika tahap pelaporan ralat ditetapkan dengan baik sebelum pengguna dapat melihatnya, bagaimana untuk mengumpul ralat ke dalam sistem log?
Berikut ialah item konfigurasi berkaitan yang perlu digunakan dalam php.ini. Dua item konfigurasi ini ialah:
参数 | 配置项 | 说明 |
---|---|---|
log_errors | on/off | 是否开启日志记录 |
log_errors_max_len | 整型,默认1024 | 单行错误最大记录长度 |
error_log | syslog或者指定路径 | 错误日志记录在什么地方 |
Penerangan:
1. Log_errors dan log_errors_max_len dalam jadual sangat mudah difahami.
2. Log_ralat menentukan laluan di mana ralat akan disimpan. Syslog dalam item konfigurasi mungkin agak sukar untuk difahami. syslog merujuk kepada rakaman sistem. Sistem Windows berada dalam pengumpul log komputer. Linux lalai kepada: /etc/syslog.conf
[Dilanjutkan] Ketahui tentang mata pengetahuan. Jika sistem Linux dimulakan atau pengumpulan log diubah suai. Boleh disimpan pada pelayan pengumpulan log khusus pihak ketiga.
Selain itu, PHP juga menyediakan fungsi log ralat tersuai khusus untuk kami:
bool error_log ( string $ error message [, int $ error message type = 0 [, string $ storage Target] ] )
Fungsi ini boleh menghantar maklumat ralat ke log ralat pelayan web, atau ke fail.
Jenis mesej ralat yang biasa digunakan:
错误消息类型 | 说明 |
---|---|
0 | 发送至默认的error_log指定位置 |
1 | 发送到指定的邮件位置 |
3 | 发送至指定的文件位置 |
Contoh:
<?php //无法连接到数据库服务器,直接记录到php.ini 中的error_log指定位置 error_log("无法连接到数据库服务器服务器"); //可以发送邮件,但是php.ini必须配置过邮件系统 error_log('可以用邮件报告错误,让运维人员半夜起床干活',1 ,'pig@php.cn'); //记录在指定的位置 error_log("我是一个错误哟", 3, "d:/test/my-errors.log"); ?>
Nota: Menghantar e-mel dalam
error_log mungkin tidak biasa bagi pemula, anda Tidak perlu menguasai beberapa pengetahuan asas.