我有一些在 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 作业将这些文件邮寄给您。