--- 由
David_L 在 2005/4/19 0:01:56 提交的原始细节。这是一个你可以用来记录所有数据库查询的 hacks,以及一些可以识别用户的详细信息。你需要将"/example/path"更改为你想指定日志文件的写入目录的路径。这个目录应该受到保护,防止从网页浏览器中访问。每小时创建一个新的日志文件。日志文件可能会占用大量的磁盘空间,因此请监控它们。class/database/mysqldatabase.php(函数 queryF 在类 XoopsMySQLDatabase 中)
#*#DEBUG# - start
$logdir = '/example/path'; ### 可写入目录路径###
$logext = 'log'; // 日志文件扩展名
$now = time();
$ymdhms = date('Y-m-d H:i:s', $now);
$ymdh = date('Y-m-d-H', );
$sql_q = addcslashes($sql, "rnt");
$logfile = "$logdir/$ymdh.$logext";
error_log("[$ymdhms] [{$_SERVER["REQUEST_METHOD"]}] [{$_SERVER['REMOTE_ADDR']}] [{$_SERVER['HTTP_USER_AGENT']}] [{$_SERVER["SCRIPT_NAME"]}] [$sql_q]n", 3, $logfile);
chmod($logfile, 0666);
#*#DEBUG# - end
$result =& mysql_query($sql, $this->conn);
--- 补充信息由
Madfish 提供。您还可以通过开启调试模式(在管理界面 -> 系统 -> 首选 -> 通用)查看页面加载的数据库查询次数。这将显示每个页面底部的SQL查询次数,您可以通过点击链接查看所有查询列表,这有助于识别问题区域。关闭它们并重新加载页面将允许评估改进(或没有!)的结果。