如何配置 apache 在每个 HTTP 错误 500 时发送电子邮件

如何配置 apache 在每个 HTTP 错误 500 时发送电子邮件

我有一些在 apache2 上运行的服务器应用程序;Ruby on Rails、PHP 和其他。

在所有情况下,每当 apache 响应 HTTP 错误 500 内部服务器错误时,我都希望 apache 向我发送一封电子邮件。

我怎样才能做到这一点?

答案1

您可以创建自定义 500 文件。假设您使用的是 Apache,则需要将以下行添加到 .htaccess 中

ErrorDocument 500 /errorfilename.php

这段代码基本上告诉服务器,如果用户遇到 500(内部服务器错误)错误,则显示 errorfilename.php。

在此 PHP 文件中,您可以添加代码,当用户达到 500 时向您发送电子邮件。

<?php
//this is the 500 error php file
mail([email protected],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>

答案2

您可以使用 ErrorDocument 指令传递自定义错误消息,并将该文件作为发送电子邮件的脚本。或者,编写错误页面,以便它写入包含您想要的任何信息的文件,并设置一个 cron 作业将这些文件邮寄给您。

相关内容