当前位置:首页>Linux>[TinyLinux-011] 项目总结:从零构建最小 Linux 的完整旅程

[TinyLinux-011] 项目总结:从零构建最小 Linux 的完整旅程

  • 2026-03-26 14:45:34
[TinyLinux-011] 项目总结:从零构建最小 Linux 的完整旅程

[TinyLinux-011] 项目总结:从零构建最小 Linux 的完整旅程

系列简介:TinyLinux 是由 LabHub 发起的"大道至简"Linux 学习项目。我们通过对内核进行"剔骨"级的物理精简,旨在构建一个 100% 透明、可重现的极简实验室。

公众号:LabHub | 项目仓库:https://gitee.com/lynyujiang/tiny-linux.git


🛠 技术看板

项目
内容
实验目标
总结 TinyLinux 项目的核心成果和学习收获
项目状态
✅ 可启动 / ✅ 可复现 / ✅ 文档完整
内核版本
Linux 6.12.51
BusyBox 版本
1.36.1
源码体积
内核 477MB / BusyBox 53MB (含构建产物)
构建产物
bzImage 2.0MB / rootfs.cpio.xz 995KB
启动时间
约 1.4 秒(从开机到 Shell 提示符)
文档数量
11 篇系列文章,5200+ 行

1. 项目回顾:我们做了什么?

1.1 项目初衷

在现代 Linux 发行版越来越庞大的背景下,TinyLinux 回归操作系统的本质:

化繁为简,看清内核核心逻辑

传统发行版的问题:

  • 安装后占据数 GB 空间
  • 包含数万个驱动和应用程序
  • 启动时间长达数十秒
  • 如同"黑盒",难以理解内部运作

TinyLinux 的目标:

  • 源码物理精简到最小
  • 仅保留 QEMU 虚拟化必需组件
  • 启动时间压缩到秒级
  • 完全透明、可读、可复现

1.2 核心成果

指标
传统内核
TinyLinux
精简比例
内核源码
1.6GB
113MB (清理后)
93% ↓
drivers/
500MB
20MB
96% ↓
net/
150MB
已删除
100% ↓
bzImage
~11MB
~2MB
82% ↓
根文件系统
~100MB
~1MB
99% ↓
启动时间
30+ 秒
1.4 秒
95% ↓
进程数量
100+
2
98% ↓

1.3 技术亮点

  1. 物理裁剪:不仅配置禁用,更直接删除冗余源码
  2. 静态编译:BusyBox 静态链接,无需共享库
  3. 极简 init:BusyBox init + rcS 脚本,无 systemd
  4. 串口调试:ttyS0 控制台,稳定可靠的调试通道
  5. 文档驱动:11 篇系列文章,完整记录每个细节

2. 系列文章导航

2.1 快速开始篇

编号
文章
核心内容
难度
001
从零开始构建最小系统
项目概述、环境搭建、快速构建
🌟🌟
002
内核配置裁剪实战
defconfig、Kconfig、配置管理
🌟🌟🌟
003
根文件系统构建实战
BusyBox、initramfs、overlay
🌟🌟🌟

2.2 调试与分析篇

编号
文章
核心内容
难度
[004](004-QEMU 虚拟化调试实战.md)
QEMU 虚拟化调试实战
QEMU 参数、串口日志、启动分析
🌟🌟🌟
009
系统启动流程分析
BIOS 到 Shell 的六阶段详解
🌟🌟🌟🌟
010
系统调试技巧
GDB、ftrace、Cscope、调用图
🌟🌟🌟🌟

2.3 裁剪实战篇

编号
文章
核心内容
难度
006
网络栈裁剪实战
net/目录删除、Stubbing 技术
🌟🌟🌟🌟
007
设备驱动裁剪实战
drivers/裁剪、QEMU 驱动保留
🌟🌟🌟🌟
[008](008-BusyBox 裁剪实战.md)
BusyBox 裁剪实战
Applet 配置、静态编译
🌟🌟🌟

2.4 系统定制篇

编号
文章
核心内容
难度
005
系统定制实战
init 脚本、profile、个性化
🌟🌟

2.5 工具与规范篇

编号
文章
核心内容
article-prompt.md
文章生成 Prompt
系列文章框架和规范

3. 核心技术总结

3.1 内核裁剪三原则

  1. 配置禁用:通过 defconfig 关闭不需要的功能
  2. 物理删除:直接删除冗余源码目录(net/、drivers/gpu/等)
  3. Stubbing 保护:创建空 Makefile/Kconfig 防止编译报错

3.2 启动流程六阶段

BIOS (0.05s) → 内核解压 (0.05s) → 内核初始化 (0.35s)
    → initramfs (0.20s) → init 进程 (0.70s) → Shell (0.06s)
    总计:1.4 秒

3.3 调试方法对比

方法
优点
缺点
适用场景
printk
简单直接
需重新编译
常规调试
GDB + QEMU
单步执行、查看变量
系统暂停、耗时长
精确定位问题
ftrace
无需编译、信息详细
输出量大
性能分析
Cscope
代码导航快速
仅静态分析
理解代码结构

3.4 关键配置文件

linux-6.12.51/
└── arch/x86/configs/
    └── tinylinux_defconfig    # 内核定制配置

busybox-1.36.1/
└── .config                    # BusyBox 配置

tiny-linux/
├── env.sh                     # 环境变量
├── overlay/
│   ├── etc/init.d/rcS        # 启动脚本
│   └── etc/profile            # Shell 环境
└── scripts/
    ├── make_all.sh            # 一键构建
    └── run_qemu.sh            # 启动虚拟机

4. 快速复现指南

4.1 环境要求

组件
版本
安装命令
Ubuntu
24.04
-
GCC
14.x
sudo apt install build-essential
QEMU
8.x
sudo apt install qemu-system-x86
GDB
15.x
sudo apt install gdb
Cscope
-
sudo apt install cscope

4.2 五步构建

# 1. 克隆项目
git clone https://gitee.com/lynyujiang/tiny-linux.git
cd tiny-linux

# 2. 设置主机环境(首次)
./scripts/setup_host.sh

# 3. 加载环境
source env.sh

# 4. 一键构建
./scripts/make_all.sh

# 5. 启动虚拟机
./scripts/run_qemu.sh

4.3 预期输出

[1/4] 编译 Linux 内核...
✅ Kernel: output/target/bzImage (2.0MB)

[2/4] 编译 BusyBox...
✅ BusyBox: output/rootfs_staging/bin/busybox (2.2MB)

[4/4] 生成 RAMFS 镜像...
✅ RAMFS: output/target/rootfs.cpio.xz (995KB)

✅ 构建完成!

# QEMU 启动后
[    0.000000] Linux version 6.12.51 ...
[    1.410488] TinyLinux#

5. 常见问题解答

Q1: 为什么启动后看不到欢迎信息?

A: 检查 /etc/issue 文件是否存在:

ls -l overlay/etc/issue
cat overlay/etc/issue

Q2: 编译报错 "No rule to make target"

A: 某目录被删除但 Makefile 仍引用,创建空 Makefile:

echo"obj-y :=" > net/Makefile

Q3: 如何添加新的内核驱动?

A:

  1. 恢复对应源码目录
  2. make menuconfig 启用驱动
  3. ./scripts/save_kernel_config.sh 保存配置
  4. 重新编译内核

Q4: 如何添加网络支持?

A:

  1. 恢复 net/ 和 drivers/net/ 目录
  2. 启用 CONFIG_NET 和网卡驱动
  3. BusyBox 启用网络工具
  4. 添加 /etc/init.d/network 启动脚本

Q5: 启动时间如何进一步优化?

A:

  • 禁用 early_printk(减少串口输出)
  • 精简 rcS 脚本
  • 使用 init=/bin/sh 直接启动 Shell

6. 项目统计

6.1 代码统计

项目
数量
Git 提交
246+
脚本文件
16 个
文档文件
11 个
文档总行数
5200+
内核配置项
约 300 项启用
BusyBox Applet
368 个

6.2 体积统计

项目结构体积:
├── linux-6.12.51/     477MB  (含构建产物)
├── busybox-1.36.1/     53MB  (含构建产物)
├── output/              5.3MB
│   ├── bzImage          2.0MB
│   └── rootfs.cpio.xz   995KB
├── docs/               约 200KB
└── scripts/            约 50KB

6.3 性能统计

指标
数值
启动时间
1.4 秒
内存占用
约 25MB
进程数量
2 个 (init + shell)
内核体积
2.0MB
根文件系统
995KB (XZ 压缩)

7. 学习收获

7.1 技术层面

  • ✅ 理解了 Linux 内核的整体架构
  • ✅ 掌握了内核配置和编译流程
  • ✅ 学会了根文件系统的构建方法
  • ✅ 掌握了 QEMU 虚拟化调试技巧
  • ✅ 理解了系统启动的完整流程

7.2 工程层面

  • ✅ 学会了极简主义的设计思想
  • ✅ 掌握了文档驱动的開發方法
  • ✅ 理解了可复现性的重要性
  • ✅ 学会了问题排查的系统方法

7.3 思维层面

少即是多 (Less is More)

通过删除 90% 以上的冗余代码,我们反而看清了操作系统的核心本质:

  • 进程调度
  • 内存管理
  • 文件系统
  • 设备驱动

这四个核心子系统,就是 Linux 的灵魂所在。


8. 下一步计划

8.1 短期目标

  • [ ] 添加网络支持(最小 TCP/IP 栈)
  • [ ] 添加 SSH 远程登录
  • [ ] 优化启动时间到 1 秒以内
  • [ ] 添加更多实用 Applet

8.2 中期目标

  • [ ] 支持真实硬件启动(USB 启动盘)
  • [ ] 添加图形界面(framebuffer + 简单 GUI)
  • [ ] 支持更多架构(ARM RISC-V)

8.3 长期愿景

打造一个所有人都能读懂的"活的代码教科书"

  • 完整的中文注释
  • 交互式学习文档
  • 在线实验环境
  • 社区共建共享

9. 参与贡献

9.1 项目地址

  • Gitee: https://gitee.com/lynyujiang/tiny-linux.git
  • 公众号: LabHub

9.2 贡献方式

  1. 提交 Issue:报告问题或提出建议
  2. 提交 PR:修复 bug 或添加功能
  3. 完善文档:修正错别字或补充说明
  4. 分享推广:分享给更多感兴趣的朋友

9.3 联系方式

  • 邮箱:lynyujiang@aliyun.com
  • 微信公众号:LabHub

10. 致谢

感谢所有关注和支持 TinyLinux 项目的朋友!

特别感谢:

  • Linux 内核社区
  • BusyBox 社区
  • QEMU 社区
  • 所有开源贡献者

🌟 互动与支持

如果你觉得这个项目对理解 Linux 底层有帮助,请不要吝啬你的支持:

  • 点赞 & 在看:点击右下角,让更多极客看到这个"活的代码教科书"。
  • 关注 LabHub:第一时间获取 TinyLinux 的最新"手术"报告。
  • Star 项目:点击 Gitee 仓库地址 给我们一个五星好评!

本文由 LabHub 团队原创,转载请注明出处。


项目地址:https://gitee.com/lynyujiang/tiny-linux.git

最后更新:2026-03-08

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-03-27 09:52:32 HTTP/2.0 GET : https://f.mffb.com.cn/a/480954.html
  2. 运行时间 : 0.122438s [ 吞吐率:8.17req/s ] 内存消耗:4,700.46kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=3688a7fc096982301b012275c2024014
  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.000418s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000597s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000286s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.002127s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000561s ]
  6. SELECT * FROM `set` [ RunTime:0.000237s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000531s ]
  8. SELECT * FROM `article` WHERE `id` = 480954 LIMIT 1 [ RunTime:0.001197s ]
  9. UPDATE `article` SET `lasttime` = 1774576352 WHERE `id` = 480954 [ RunTime:0.000606s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.000289s ]
  11. SELECT * FROM `article` WHERE `id` < 480954 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000697s ]
  12. SELECT * FROM `article` WHERE `id` > 480954 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001039s ]
  13. SELECT * FROM `article` WHERE `id` < 480954 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.021239s ]
  14. SELECT * FROM `article` WHERE `id` < 480954 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.004188s ]
  15. SELECT * FROM `article` WHERE `id` < 480954 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.002573s ]
0.124718s