当前位置:首页>Linux>Linux线上配置被改了找不到人?教你一招让所有操作留痕

Linux线上配置被改了找不到人?教你一招让所有操作留痕

  • 2026-06-28 10:59:45
Linux线上配置被改了找不到人?教你一招让所有操作留痕

服务器被误操作了,不知道谁干的?

线上配置被改了,找不到记录?

出了安全事故,审计要求拿出操作日志?

——Linux默认的 history 命令远远不够。

这篇文章教你两步搞定:操作日志采集 + 日志自动轮转,5分钟部署,从此服务器操作有据可查。

一、默认history为啥不够用?

Linux自带的history命令,问题一大堆:

❌ 不记录时间 —— 默认只有命令本身,没有执行时间。看到一条 rm -rf /,你不知道是昨天还是半年前执行的

❌ 不记录来源IP —— 多人通过SSH登录同一台服务器,你分不清哪条命令是谁从哪台机器上执行的

❌ 不记录工作目录 —— 看到 rm -rf data,不知道是在 /tmp 还是 / 下执行的,性质完全不同

❌ 用户可以删除 —— history -c 一键清空,恶意操作者可以轻松抹掉痕迹

我们要实现的效果:

2024-12-17 16:34:52 | user=root | from=10.1.1.1 | path=/root | cmd:cat /etc/profile

每条命令自动记录:时间、用户、来源IP、工作目录、执行命令——清清楚楚,谁也删不掉。

二、第一步:配置操作日志采集

核心思路:修改 /etc/profile,利用 PROMPT_COMMAND 在每次命令执行后自动记录日志。

🔧 一键部署脚本

保存为 setup_history_log.sh,直接执行:

#!/bin/bash# 检查 /etc/profile 中是否已经存在 history.logif grep -q 'history.log' /etc/profile; then    echo "提示: /etc/profile 已包含 history.log 配置,未做任何操作。"else    cat <<'EOF' >> /etc/profileexport HISTTIMEFORMAT="`whoami` %Y-%m-%d %H:%M:%S "export HISTORY_FILE=/var/log/history.logexport PROMPT_COMMAND='{ date "+%Y-%m-%d %T | user=$(whoami) | from=$(echo $SSH_CLIENT | awk "{print \$1}") | path=$(pwd) | cmd:$(history 1 | { read x y z o; echo "$o"; })"; } >> $HISTORY_FILE'HISTCONTROL=ignorespace:ignoredupsexport PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROLEOF    echo "配置已成功添加到 /etc/profile"fi

📖 逐行解读配置

export HISTTIMEFORMAT="`whoami` %Y-%m-%d %H:%M:%S "

history命令时间格式:让history输出时显示"用户名 + 年月日时分秒"。只影响history显示,不影响日志文件

export HISTORY_FILE=/var/log/history.log

日志文件路径:所有操作日志统一写入这个文件。独立于 ~/.bash_history,用户删不了

export PROMPT_COMMAND='{ date ... } >> $HISTORY_FILE'

核心机制:Bash每次显示提示符前自动执行PROMPT_COMMAND。我们在里面拼装一条日志(时间|用户|来源IP|目录|命令)追加到文件。用户无感知,也绕不过去

HISTCONTROL=ignorespace:ignoredups

history过滤规则:ignorespace = 命令前加空格不记录(敏感操作如输密码时有用);ignoredups = 连续重复命令只记一次

⚙️ 配置生效

# 执行脚本bash setup_history_log.sh# 让配置立即生效source /etc/profile# 创建日志文件并设置权限(所有用户可写,确保审计覆盖)touch /var/log/history.logchmod 666 /var/log/history.log# 验证:随便执行几条命令,然后查看日志cat /var/log/history.log

⚡ 关键理解:PROMPT_COMMAND

PROMPT_COMMAND是Bash的一个特殊变量——每次命令执行完毕、显示新提示符之前,Bash都会自动执行它里面的内容。

我们利用这个机制,把"记录日志"的动作嵌入到Bash的执行流程中。用户敲任何命令,日志就自动追加了,完全不需要主动操作。

注意:此配置对所有登录用户生效(包括新建用户),因为它写在 /etc/profile 中。

三、第二步:配置日志自动切割

日志文件会越来越大,不切割的话 /var/log/history.log 几个月就能长到好几个GB。用logrotate自动轮转,省心省力。

🔧 一键部署脚本

保存为 setup_logrotate.sh,直接执行:

#!/bin/bashTARGET_FILE="/etc/logrotate.d/history"if [ -f "$TARGET_FILE" ]; then    if grep -q '/var/log/history.log' $TARGET_FILEthen        echo "提示: 已包含历史日志配置,未做任何修改。"        exit 0    fielse    touch $TARGET_FILEficat <$TARGET_FILE/var/log/history.log {    missingok    ifempty    monthly    dateext    create 666 root root    copytruncate    rotate 3}EOFchmod 644 $TARGET_FILEecho "配置已成功添加到 $TARGET_FILE"

📖 逐行解读配置

参数
含义
说明
missingok
日志不存在不报错
首次部署时日志文件可能还没创建,避免logrotate报错
ifempty
空文件也轮转
即使日志为空也按计划切割,保持轮转周期一致
monthly
每月轮转一次
可根据日志量调整为 daily / weekly。日志量大的建议 weekly
dateext
用日期做后缀
切割后文件名如 history.log-20241201,一目了然
create 666 root root
新建日志文件权限
轮转后创建新的空日志,权限666确保所有用户可写
copytruncate
复制后截断
先复制当前日志到备份文件,再清空原文件。不需要重启服务
rotate 3
保留3份备份
保留最近3个月的日志。审计要求高可调大

📁 轮转效果

[root@server log]# ls /var/log/history.log*history.log                ← 当前日志history.log-20240901    ← 9月归档history.log-20241001    ← 10月归档history.log-20241101    ← 11月归档history.log-20241201    ← 12月归档(rotate 3后最早的会被删除)

💡 copytruncate vs create

copytruncate:复制当前日志 → 清空原文件 → 完成。不需要通知任何进程,适合我们这种"自己写日志"的场景。

create(不加copytruncate):重命名当前日志 → 创建新文件 → 需要通知进程重新打开文件(用postrotate)。适合nginx、mysql等有自己日志系统的服务。

我们这里用 copytruncate 是正确选择——因为 PROMPT_COMMAND 是以追加模式打开文件,不需要重新通知。

四、你可能有的疑问

❓ 用户删掉 /var/log/history.log 怎么办?

两个防护:

1️⃣ 文件权限加固——用 chattr +a /var/log/history.log 设置"只允许追加"属性,root也删不掉(除非先 chattr -a 解除)

2️⃣ 日志远程备份——用rsyslog把日志实时转发到日志服务器,本地删了远程还有。这是企业级审计的标准做法

❓ 666权限会不会有安全问题?

666意味着所有用户可读可写,确实存在信息泄露风险——普通用户能看到root执行了什么命令。如果安全要求高,可以改为 600 root root,配合sudo让普通用户通过审计命令查看(但写入需要特殊处理)。企业环境建议用auditd替代或搭配rsyslog远程集中存储。

❓ 和auditd有什么区别?用哪个?

对比项
本文方案(PROMPT_COMMAND)
auditd
层级
Bash命令行
内核级
记录范围
Bash命令
系统调用、文件访问、权限变更
可绕过性
理论上可绕过
不可绕过
适用场景
中小团队日常运维追溯
等保合规、正式安全审计

简单说:日常运维追溯用本文方案够了;要过等保、做正式安全审计,上auditd。两者可以共存。

❓ rotate 3只保留3个月,审计要求保存更久怎么办?

直接改数字——rotate 12 就是保留12个月。同时注意磁盘空间:一个月的日志大约几十MB到几百MB(取决于服务器操作频率)。也可以把轮转周期改为 daily + rotate 90,按天切割保留90天,粒度更细。

❓ 已经在运行的服务器,部署后需要重启吗?

不需要重启服务器。执行 source /etc/profile 后,当前会话立即生效。但已登录的其他会话需要重新登录才会加载新配置。如果想让所有人立即生效,可以发个通知让大家重新登录,或者等到自然登出。

❓ 命令前加空格真的不会被记录吗?

ignorespace只影响history命令的输出,不影响PROMPT_COMMAND写入日志文件。也就是说,即使命令前加空格,/var/log/history.log 里还是会记录——这也正是我们想要的,审计不能留死角。

五、部署验证清单

✅ 1. 执行部署脚本,确认输出"配置已成功添加"

✅ 2. source /etc/profile 生效

✅ 3. cat /etc/profile 确认配置已写入

✅ 4. 随便敲几条命令,cat /var/log/history.log 确认有记录

✅ 5. cat /etc/logrotate.d/history 确认轮转配置

✅ 6. logrotate -d /etc/logrotate.d/history 模拟运行确认无报错

两步配置,5分钟搞定:

第一步:修改 /etc/profile,用 PROMPT_COMMAND 自动记录每条命令(时间|用户|来源IP|目录|命令)

第二步:配置 logrotate,每月自动切割日志,保留最近3份

进阶:chattr +a 防删除 + rsyslog 远程备份 + auditd 内核审计

从此服务器操作有据可查,谁也赖不掉。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-02 23:26:29 HTTP/2.0 GET : https://f.mffb.com.cn/a/500679.html
  2. 运行时间 : 1.573499s [ 吞吐率:0.64req/s ] 内存消耗:4,759.27kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=5d5f0eb4134a521bf553acac5e5523ca
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000375s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000564s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.100657s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.023692s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000670s ]
  6. SELECT * FROM `set` [ RunTime:0.100613s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000745s ]
  8. SELECT * FROM `article` WHERE `id` = 500679 LIMIT 1 [ RunTime:0.132400s ]
  9. UPDATE `article` SET `lasttime` = 1783005990 WHERE `id` = 500679 [ RunTime:0.110579s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.010411s ]
  11. SELECT * FROM `article` WHERE `id` < 500679 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.027612s ]
  12. SELECT * FROM `article` WHERE `id` > 500679 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.028951s ]
  13. SELECT * FROM `article` WHERE `id` < 500679 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.796276s ]
  14. SELECT * FROM `article` WHERE `id` < 500679 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.083435s ]
  15. SELECT * FROM `article` WHERE `id` < 500679 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.075735s ]
1.577322s