Как я могу настроить apache для отправки электронной почты при каждой ошибке HTTP 500
У меня есть некоторые серверные приложения, работающие на apache2; Ruby on Rails, PHP и другие.
Во всех случаях я хотел бы, чтобы apache отправлял мне электронное письмо всякий раз, когда apache отвечает на HTTP-ошибку 500 Внутренняя ошибка сервера.
Как я могу это сделать?
2 ответа
Вы можете создать пользовательский файл 500. Предполагая, что вы используете Apache, вы бы добавили следующую строку в ваш.htaccess
ErrorDocument 500 /errorfilename.php
Этот код в основном сообщает серверу, что если пользователь обнаружит ошибку 500(внутренняя ошибка сервера) для отображения errorfilename.php.
В этом PHP-файле вы можете добавить код для отправки вам электронного письма, когда пользователь доберется до 500.
<?php
//this is the 500 error php file
mail(ma@me.com,500 error encountered,'message here');
?>
<html>
<head>
<title>500</title>
<body>
500 internal server error
The administrator has been notified
<a href="index.php">Go to Homepage</a>
</body>
</html>
Вы можете использовать директиву ErrorDocument для доставки пользовательского сообщения об ошибке и сделать этот файл сценарием, который отправляет электронную почту. В качестве альтернативы, напишите страницу ошибки, чтобы она записала файл с любой информацией, которую вы хотите, и настройте задание cron для отправки этих файлов вам.