[英]Send an Error Message by E-Mail php
如果我的php應用程序中發生任何錯誤,我想收到一封郵件。 我在https://www.w3schools.com/php/php_error.asp上找到了一個示例:
<?php
//error handler function
function customError($errno, $errstr) {
echo "<b>Error:</b> [$errno] $errstr<br>";
echo "Webmaster has been notified";
error_log("Error: [$errno] $errstr",1,
"uwe.nachname@gmail.com","From: webmaster@example.com");
}
//set error handler
set_error_handler("customError",E_USER_WARNING);
//trigger error
$test=2;
if ($test>=1) {
trigger_error("Value must be 1 or below",E_USER_WARNING);
}
?>
這是可行的,但是當我為所有錯誤更改它時,則不會:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 'Off');
//error handler function
function customError($errno, $errstr) {
echo "<b>Error:</b> [$errno] $errstr<br>";
echo "Webmaster has been notified";
error_log("Error: [$errno] $errstr",1,
"uwe.nachname@gmail.com","From: webmaster@example.com");
}
//set error handler
set_error_handler("customError",E_ALL);
echo 'now the error: ';
echo gibtsnicht();
?>
如果出現任何錯誤,我該怎么辦? 來自奧地利烏威的感謝和問候
問題在於這不是觸發錯誤,而是引發異常,因此必須捕獲並處理該異常。
<?php
function customException($ex) {
echo "<b>Exception:</b> ".$ex->getMessage()." Line: ".$ex->getLine() ."<br>";
error_log("Exception: " .$ex->getMessage()." File: ".$ex->getFile()." Line: ".$ex->getLine(),1,
"uwe.nachname@gmail.com","From: webmaster@example.com");
echo "Webmaster has been notified";
}
set_exception_handler("customException");
echo 'now the exception: <br>';
echo gibtsnicht();
?>
簽出異常
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.