在开发web项目或者其他场景的时候,有时候我们需要设置“alarm”。例如,当数据库的某个指标达到某个值时,需要通知网站管理员。今天给大家分享一个比较简单的php报警功能。先介绍下php中一个用来记录log的函数error_log,用来将错误发送到某个地方。函数介绍boolerror_log(string$message[,int$message_type=0[,string$destination[,string$extra_headers]]]其中$message表示要记录的信息;$message_type用于设置信息应该发送到哪里.maybe信息类型如下:0:消息发送到PHP的系统日志,使用操作系统的日志机制或文件,取决于error_log指令设置的内容。这是默认选项。1:消息发送到电子邮件地址由参数destination设置第四个参数extra_headers只会在该类型中使用。2:不再是一个选项3:消息发送到destination处的文件4:消息直接发送到SAPI日志处理程序。另外,$destination由$message_type决定;当$message_type为1时使用$extra_headers。在*nix操作系统下,php通过sendmail组件发送邮件。所以要确保sendmail组件已经安装。可以通过f测试你以下命令服务器上的邮件服务是否正常。发送失败的邮件默认返回到/var/mail/。您可以自行查看退回邮件的详细信息。echo"测试邮件内容"|mail-s"测试邮件主题"{xxx@yy.com}Start1.安装sendmailMac通常默认有sendmail,位于/usr/sbin/下。没有的话可以自己搜索安装~2.找到php使用的配置文件php.iniphp-i|grepphp.ini3.打开php.ini,找到sendmail配置行sendmail_path="/usr/sbin/sendmail-t-i"4。如果在web项目中使用,配置后重启服务器即可生效。5.测试。使用php-a打开php交互shell,输入以下代码,然后到邮箱查看(注意:邮箱可能会屏蔽此类邮件,请注意添加白名单)。error_log('你好世界',1,'xxx@yy.com');大致就是上面的步骤。其他类Linux操作系统的配置类似,有兴趣的小伙伴可以自行尝试。本文不足之处请大家多多指教~
