PHP错误处理与安全防护全解析
1. PHP错误日志记录
在PHP应用程序中,除了在运行时捕获和处理错误外,为了调试或检查目的,维护应用程序生成的错误的半永久记录通常是个好主意。PHP的 error_log()
函数可以实现这一功能,它允许在错误发生时将错误消息发送到磁盘文件或电子邮件地址。
error_log()
函数至少需要两个参数:要记录的错误消息和一个整数值,用于指示日志的目标。这个整数值可以是0(系统日志文件)、1(电子邮件地址)或3(磁盘文件)。如果需要,应将电子邮件地址或磁盘文件路径作为 error_log()
的第三个参数指定。
以下是一个示例,展示了它的工作原理:
<?php
// 尝试数据库连接
$mysqli = new mysqli("localhost", "user", "pass", "music");
if (mysqli_connect_error()) {
error_log("ERROR: Could not connect. " . mysqli_connect_error() . "\n", 3, 'debug.log');
die("ERROR: Could not connect. " . mysqli_connect_error());
}
// 尝试执行查询
// 遍历结果集
// 打印每条记录及其字段
// 输出: "1:Aerosmith \n 2:Abba \n ..."
$sql = "SELECT artist_id,