PHP 오류 처리 오류 로그
일부 회사에는 특별한 로그 수집 시스템이 있습니다. 로그 수집 시스템은 뒤에서 오류, 경고 및 프롬프트를 수집하는 데 자동으로 도움을 줍니다.
전용 로그 수집 시스템이 없고 서버에서 실행 중인 로그를 파일을 통해 수집하는 회사도 있습니다.
이중 PHP 오류, 경고를 받아야 합니다.
그러면 질문이 생깁니다. 오류 보고 수준이 사용자가 보기 훨씬 전에 설정되어 있다면 오류를 로그 시스템에 어떻게 수집할 것인가?
php.ini에서 사용해야 하는 관련 구성 항목은 다음과 같습니다. 이 두 가지 구성 항목은 다음과 같습니다.
参数 | 配置项 | 说明 |
---|---|---|
log_errors | on/off | 是否开启日志记录 |
log_errors_max_len | 整型,默认1024 | 单行错误最大记录长度 |
error_log | syslog或者指定路径 | 错误日志记录在什么地方 |
설명:
1. 표의 log_errors 및 log_errors_max_len은 매우 이해하기 쉽습니다.
2. error_log는 오류가 저장될 경로를 지정합니다. 구성 항목의 syslog는 다소 이해하기 어려울 수 있습니다. syslog는 시스템 기록을 나타냅니다. Windows 시스템은 컴퓨터의 로그 수집기에 있습니다. Linux 기본값: /etc/syslog.conf
[확장] 지식 포인트에 대해 알아보세요. Linux 시스템이 시작되거나 로그 수집이 수정되는 경우. 타사 전용 로그 수집 서버에 저장될 수 있습니다.
또한 PHP는 우리를 위해 특별히 사용자 정의 오류 로그 기능을 준비했습니다.
bool error_log ( string $error message[, int $error message type = 0 [, string $storage Target ]] )
이 함수는 오류 정보를 웹 서버의 오류 로그나 파일로 보낼 수 있습니다.
일반적으로 사용되는 오류 메시지 유형:
错误消息类型 | 说明 |
---|---|
0 | 发送至默认的error_log指定位置 |
1 | 发送到指定的邮件位置 |
3 | 发送至指定的文件位置 |
예:
<?php //无法连接到数据库服务器,直接记录到php.ini 中的error_log指定位置 error_log("无法连接到数据库服务器服务器"); //可以发送邮件,但是php.ini必须配置过邮件系统 error_log('可以用邮件报告错误,让运维人员半夜起床干活',1 ,'pig@php.cn'); //记录在指定的位置 error_log("我是一个错误哟", 3, "d:/test/my-errors.log"); ?>
참고:
error_log에서 이메일을 보내는 것은 초보자에게 익숙하지 않을 수 있습니다. 기본적인 지식을 습득할 필요는 없습니다.