Назад | Перейти на главную страницу

Как настроить apache для отправки электронного письма при каждой ошибке HTTP 500

У меня есть серверные приложения, работающие на apache2; Ruby on Rails, PHP и другие.

Во всех случаях я хотел бы, чтобы apache отправлял мне электронное письмо, когда apache отвечает с ошибкой HTTP 500 Внутренняя ошибка сервера.

Как я могу это сделать?

Вы можете создать собственный файл 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 для отправки вам этих файлов по почте.