Отправить сообщение об ошибке по электронной почте 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();
?>

Что я могу сделать, чтобы получить письмо о любой ошибке? Спасибо и привет из Австрии Уве

Вроде не имеет отношения, но я заметил небольшую проблему с вашим кодом. if ($test>=1) {trigger_error("Value must be 1 or below",E_USER_WARNING);} все равно сработает, если $test равен 1, что противоречит вашему сообщению

IsThisJavascript 10.08.2018 15:47
1
1
30
1

Ответы 1

Проблема в том, что это вызывает не ошибку, а исключение, поэтому исключение необходимо перехватывать и обрабатывать.

<?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();
?>

Проверить Исключение

Спасибо большое. Я новичок в PHP и переношу свое приложение с ASP на PHP, потому что мне 69 ...

user3160706 13.08.2018 08:19

Только один вопрос: как я могу отправить имя программы и льняное лето?

user3160706 13.08.2018 08:20

Другие вопросы по теме