Während der PHP -Entwicklung sind die Sammlung und Verarbeitung von Fehlerprotokollen sehr wichtig. Zusätzlich zum Schreiben von Fehlerinformationen in Protokolldateien hoffen wir manchmal, Fehlerinformationen direkt an die E -Mail -Adresse zu senden, um die Entdeckungs- und Handhabungsprobleme so schnell wie möglich zu erleichtern. In diesem Artikel wird über die Senden von Fehlermeldungen über die Funktion von PHP über die Fehler_log -Funktion von PHP an das angegebene Mailbox führen und den relevanten Inhalt der E -Mail -Konfiguration ausführlich erläutert.
ERROR_LOG ist eine integrierte Funktion in PHP und wird häufig zum Aufzeichnen von Fehlerinformationen verwendet. Zu den gemeinsamen Verwendungen gehören:
error_log(string $message, int $message_type = 0, string $destination = null, string $extra_headers = null): bool
$ meldung : Die zu erfasste Fehlermeldung.
$ message_type : Die häufig verwendete Art des Protokolls ist:
0: Schreiben Sie in das Systemprotokoll (Standard)
1: E -Mail senden
3: Schreiben Sie in die Datei
$ Ziel : Wenn $ message_type 1 oder 3 ist, geben Sie hier die E -Mail -Adresse oder den Dateipfad an.
$ extra_Headers : E -Mail -Header -Informationen wie aus .
Um Fehler_Log zu senden, senden Sie E -Mails, um $ message_type auf 1 festzulegen und $ destination als E -Mail -Adresse zur Empfängerung von E -Mails anzugeben.
Beispielcode:
<?php
// Fehlermeldung
$error_message = "这是一个测试Fehlermeldung,Passierte in:" . date('Y-m-d H:i:s');
// verwenden error_log Senden Sie eine E -Mail
error_log($error_message, 1, "[email protected]", "From: [email protected]\r\n");
?>
In diesem Code:
Fehlermeldung $ ERROR_MESSAGE generiert einen Zeitstempelfehler.
ERROR_LOG sendet eine E -Mail an [email protected] .
Der E -Mail -Header von gibt den Absender als [email protected] an.
Hinweis: Der tatsächliche Domänenname wird hier durch gitbox.net ersetzt, was Ihren Anforderungen entspricht.
Obwohl der Code einfach ist, hängt die E -Mail erfolgreich von der E -Mail -Umgebungskonfiguration des Servers ab.
PHP verwendet Sendmail , um standardmäßig auf Linux/UNIX -Server zu senden, um sicherzustellen, dass Sendmail auf dem Server installiert und konfiguriert ist.
In php.ini gibt es im Allgemeinen die folgenden Einstellungen:
sendmail_path = /usr/sbin/sendmail -t -i
In einer Windows -Umgebung müssen Sie einen SMTP -Server konfigurieren:
[mail function]
SMTP = smtp.gitbox.net
smtp_port = 25
sendmail_from = [email protected]
Wenn Sie E-Mails über externes SMTP senden möchten, unterstützt der integrierte Fehler der PHP nicht direkt den SMTP-Benutzernamen und das Kennwort. Dies wird empfohlen, eine E-Mail-Bibliothek von Drittanbietern wie Phpmailer oder Swiftmailer zu verwenden.
Konfigurieren Sie die richtige Absender -E -Mail, um zu vermeiden, dass sie als Spam betrachtet werden.
Stellen Sie sicher, dass der Server SMTP -Dienst normal ist und E -Mails senden kann.
Test -E -Mail -Senden , um sicherzustellen, dass die per E -Mail gesendete E -Mail Ihren Posteingang erreichen kann.
Formatieren Sie den E -Mail -Inhalt, um übermäßig lange oder nutzlose Informationen zu vermeiden.
Es ist sehr präzise, die Funktion PHP ERROR_LOG zu verwenden, um Fehler -E -Mails zu senden. Die Hauptschritte sind:
Setzen Sie $ message_type auf 1 , was bedeutet, dass es per Post gesendet wird.
Geben Sie den Mailbox $ $ destination des Empfängers an.
Konfigurieren Sie den E -Mail -Header $ extra_headers , insbesondere von .
Stellen Sie sicher, dass die Server -Mail -Umgebung normal ist (Sendmail oder SMTP).
Beispiel:
<?php
error_log("Es ist ein Fehler aufgetreten,Zeit:" . date('Y-m-d H:i:s'), 1, "[email protected]", "From: [email protected]\r\n");
?>
Auf diese Weise können Sie so bald wie möglich PHP -Fehler -E -Mails erhalten, was die schnelle Positionierung von Problemen erleichtert und die Projektqualität und -stabilität verbessert.