簡體   English   中英

通過電子郵件php發送錯誤消息

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM