PHP 개발 중에 오류 로그의 수집 및 처리가 매우 중요합니다. 로그 파일에 오류 정보를 작성하는 것 외에도, 때로는 오류 정보를 이메일 주소로 직접 보내기 위해 가능한 한 빨리 발견 및 처리 문제를 촉진하기를 희망합니다. 이 기사에서는 PHP의 Error_Log 함수를 통해 지정된 사서함에 오류 메시지를 보내는 방법을 소개하고 이메일 구성의 관련 내용을 자세히 설명합니다.
Error_Log 는 PHP의 내장 기능이며 종종 오류 정보를 기록하는 데 사용됩니다. 일반적인 사용법은 다음과 같습니다.
error_log(string $message, int $message_type = 0, string $destination = null, string $extra_headers = null): bool
$ 메시지 : 기록 할 오류 메시지.
$ message_type : 일반적으로 사용되는 로그 유형은 다음과 같습니다.
0 : 시스템 로그 (기본값)에 쓰기
1 : 이메일 보내기
3 : 파일에 쓰십시오
$ 대상 : $ message_type 가 1 또는 3 인 경우 여기에서 이메일 주소 또는 파일 경로를 지정하십시오.
$ extra_headers : From 과 같은 이메일 헤더 정보.
Error_Log를 이메일 보내기 위해 키는 $ message_type를 1 로 설정하고 이메일 주소로 $ 대상을 이메일 주소로 제공하는 것입니다.
샘플 코드 :
<?php
// 오류 메시지
$error_message = "这是一个测试오류 메시지,일어났다:" . date('Y-m-d H:i:s');
// 사용 error_log 이메일을 보내십시오
error_log($error_message, 1, "[email protected]", "From: [email protected]\r\n");
?>
이 코드에서 :
오류 메시지 $ error_message 타임 스탬프 오류가 발생합니다.
Error_Log는 [email protected] 으로 이메일을 보냅니다.
전자 메일 헤더 는 발신자를 [email protected] 으로 지정합니다.
참고 : 실제 도메인 이름은 여기에서 gitbox.net 으로 대체되며 요구 사항을 충족합니다.
코드는 간단하지만 이메일이 서버의 이메일 환경 구성에 따라 성공적으로 전송 될 수 있는지 여부.
PHP는 SendMail을 사용하여 Linux/UNIX 서버에서 기본적으로 보내기 위해 SendMail이 서버에 설치되고 구성되도록합니다.
php.ini 에는 일반적으로 다음과 같은 설정이 있습니다.
sendmail_path = /usr/sbin/sendmail -t -i
Windows 환경에서는 SMTP 서버를 구성해야합니다.
[mail function]
SMTP = smtp.gitbox.net
smtp_port = 25
sendmail_from = [email protected]
외부 SMTP를 통해 이메일을 보내려면 PHP의 내장 Error_Log는 SMTP 사용자 이름 및 비밀번호를 직접 구성하는 데 도움이되지 않습니다. Phpmailer 또는 Swiftmailer와 같은 타사 메일 라이브러리를 사용하는 것이 좋습니다.
스팸으로 간주되지 않도록 올바른 발신자 이메일을 구성하십시오 .
서버 SMTP 서비스가 정상이고 이메일을 보낼 수 있는지 확인하십시오 .
Error_Log 가 보낸 이메일이받은 편지함에 도달 할 수 있는지 확인하기 위해 이메일 보내기를 테스트하십시오 .
과도하게 길거나 쓸모없는 정보를 피하기 위해 이메일 컨텐츠를 포맷하십시오 .
PHP Error_Log 함수를 사용하여 오류 이메일을 보내는 것은 매우 간결합니다. 주요 단계는 다음과 같습니다.
$ message_type를 1 로 설정하십시오. 즉, 우편으로 전송됩니다.
수신자의 사서함 $ 대상을 지정하십시오.
전자 메일 헤더 $ extra_headers를 구성하십시오 .
서버 메일 환경이 정상인지 확인하십시오 (sendmail 또는 smtp).
예:
<?php
error_log("오류가 발생했습니다,시간:" . date('Y-m-d H:i:s'), 1, "[email protected]", "From: [email protected]\r\n");
?>
이러한 방식으로 가능한 빨리 PHP 오류 이메일을받을 수있어 문제의 빠른 위치를 촉진하고 프로젝트 품질과 안정성을 향상시킬 수 있습니다.