Как я могу настроить 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 для отправки этих файлов вам.

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