Heim > Artikel > Backend-Entwicklung > Einführung in die Verwendung der PHP-Funktion error_log()
Die Funktion
error_log() sendet eine Fehlermeldung an das Server-Fehlerprotokoll, eine Datei oder ein Remote-Ziel. Seine Syntax
error_log(message,type,destination,headers);
Parameter | Beschreibung | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Nachricht | Erforderlich. Gibt die zu protokollierende Fehlermeldung an. | ||||||||||
Typ |
|
||||||||||
Ziel | Optional. Gibt das Ziel der Fehlermeldung an. Der Wert wird durch den Wert des Parameters type bestimmt. | ||||||||||
Header |
Optional. Gibt zusätzliche Header wie From, Cc und Bcc an. Dieser Nachrichtentyp verwendet dieselbe integrierte Funktion wie mail().function getNewsContent($news_id, $field="") { global $db; $result = $db->getRow("SELECT $field FROM news WHERE news_id = '$news_id'"); if (logError($result)) { return false; } return $result; } Wird nur verwendet, wenn message_type auf 1 gesetzt ist. |
Tatsächlich ist es für uns der Einfachheit halber im Allgemeinen angemessener, Typ 3 direkt zum Protokollieren zu verwenden Datei an die gewünschte Stelle in der Datei.
Um die einfache Verwendung der Funktion error_log() zu veranschaulichen, nehmen wir ein Beispiel. Angenommen, unsere Datenbank abstrakte Klasse
Diese Funktion kann den Ort aufzeichnen, an dem das falsche SQL gefunden wurde, und dann automatisch die Zeit, die aktuelle Seite und falsche SQL-Anweisungsinformationen im
/tmp/php_sql_err.log aufzeichnen Wenn wir dann beim Debuggen des Programms feststellen, dass die Datenextraktion falsch ist oder keine Datenextraktion erfolgt, können wir die Datei /tmp/php_sql_err.log anzeigen, um unsere Fehlerseite und die falsche SQL-Anweisung anzuzeigen.
Darin bestimmen wir, ob Wenn der SQL-Fehler vorliegt, wird „false“ zurückgegeben. Anschließend können wir das Protokoll überprüfen, um festzustellen, ob unsere Funktion wie erwartet ausgeführt wird. Wir führen Folgendes aus: tail /tmp/php_sql_err.logSie können ähnliche Informationen wie diese sehen:
<code> $address = post('address'); $group_add = explode(',',$address); $url ="/usr/local/apache/eyoung/tmp/maillog_".date("Y-m-d").".log"; foreach($group_add as $value) { /** {{{ modify by muzhaoyang -2006.12.13- 记log * 已空格分隔数据,记录的数据为写文本时间 拉票人ID 选手ID 发信地址 */ $logstr=date("H:i:s")." ".$uid." ".$star_uid." ".$value."\n"; error_log($logstr,3,$url); //}}} } </code>
[2006-01-12 11:44:34] -[/news_list . php?news_id=1] :SELECT FROM news WHERE news_id = '1' [nativecode=1064 ** Sie haben einen Fehler in Ihrer SQL-Syntax; überprüfen Sie das Handbuch, das Ihrer MySQL-Serverversion entspricht, um die richtige Syntax zu finden use near 'FROM news WHERE news_id = '1']
Das liegt wahrscheinlich daran, dass wir bei der Auswahl nicht die Feldnamen geschrieben haben, die extrahiert werden müssen, dann können wir die Datei news_list.php überprüfen In der Datei übergibt die Funktionsmethode getNewsContent () den Parameter $field nicht, was zu einem SQL-Ausführungsfehler führt. Daher hilft die Funktion error_log() zu überprüfen, ob unser SQL korrekt geschrieben ist oder ob die Parameter nicht korrekt übergeben werden. Dies reduziert den Entwicklungsaufwand erheblich und ermöglicht uns die Durchführung von
Das obige ist der detaillierte Inhalt vonEinführung in die Verwendung der PHP-Funktion error_log(). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!