当前位置:首页>Linux>嵌入式Linux开发利器:Yocto Project

嵌入式Linux开发利器:Yocto Project

  • 2026-07-02 15:51:26
嵌入式Linux开发利器:Yocto Project

从源码构建定制化嵌入式系统,bitbake-setup让入门门槛再降一阶

在物联网、工业控制、车载电子等领域,嵌入式Linux早已成为主流操作系统。然而,为特定硬件平台定制一套完整的Linux发行版,从来都不是一件容易的事:交叉编译工具链的配置、内核的裁剪与适配、根文件系统的组装、软件包的依赖管理……每一步都可能踩坑。

Yocto Project 正是为了解决这一痛点而生。作为 Linux 基金会旗下的开源协作项目,Yocto Project 提供了一套完整的工具、模板和方法论,帮助开发者从源码构建出针对特定硬件深度定制的嵌入式Linux系统。最新的 5.3 版本(代号 Whinlatter)在易用性和构建效率上又迈出了一大步。本文将带你系统了解 Yocto Project 的核心概念,并基于最新版本快速上手。

一、Yocto Project 是什么?

简单来说,Yocto Project 不是一个具体的Linux发行版,而是一个"构建发行版的元框架"。它由以下几个核心部分组成:

BitBake构建系统的"引擎",类似Make但功能更强大。它负责解析配方(Recipe)、解析依赖关系、调度编译任务、管理缓存。

OpenEmbedded-Core (OE-Core)一套基础的元数据(Metadata),包含大量预置的软件包配方和构建类(Class),是Yocto构建系统的基石。

PokyYocto Project 官方提供的参考发行版,也是一套完整的测试环境。新手通常从构建Poky开始,因为它是经过充分验证的"样板间"

Layer(层):Yocto最具扩展性的设计之一。不同功能、不同硬件平台、不同厂商的支持都可以封装为独立的Layer,按需叠加。例如,芯片厂商的BSP Layer、应用层的自定义Layer、第三方社区Layer等。

Recipe(配方):描述如何获取、配置、编译、打包一个软件包的脚本文件,通常以.bb.bbappend为后缀。

二、为什么嵌入式开发需要 Yocto

在桌面或服务器领域,UbuntuDebianCentOS 等通用发行版已经足够好用。但嵌入式场景有着截然不同的需求:

硬件碎片化严重:不同SoCARMRISC-Vx86MIPS)需要不同的内核配置、设备树(Device Tree)和驱动支持。

存储和内存极度受限:嵌入式设备的Flash可能只有几十MBRAM可能只有几百MB,必须对系统进行极致裁剪。

确定性要求高:工业场景需要可重现的构建结果,不能依赖外部包管理器的"黑盒"依赖解析。

长生命周期维护:嵌入式设备往往需要维护5~10年甚至更久,Yocto提供LTS版本和稳定的升级路径。

功能可定制性强:从精简的"tiny"发行版到带GUI的完整桌面环境,Yocto允许你像搭积木一样组合功能。

三、5.3 版本新特性:bitbake-setup 让入门更简单

Yocto Project 5.3中,最值得关注的新特性之一是bitbake-setup工具的引入。它极大地简化了项目初始化的流程。

以往,新手搭建Yocto环境需要手动克隆poky仓库、配置bblayers.conflocal.conf,容易因配置错误导致构建失败。而现在,只需两条命令即可启动:

$ git clone https://git.openembedded.org/bitbake $ ./bitbake/bin/bitbake-setup init

bitbake-setup init 是一个交互式向导,会引导你完成以下选择:

1. 选择配置模板: poky-master(测试版)、poky-whinlatter5.3稳定版)或纯OpenEmbedded配置。

2. 选择目标机器: qemux86-64qemuarm64qemuriscv64,或 genericarm64genericx86-64 等通用平台。

3. 选择发行版变体: poky(标准版)、poky-altcfg(替代配置)、poky-tiny(极简版)。

4. 命名设置目录:自动生成如 poky-master-poky-distro_poky-machine_qemux86-64 的目录名,清晰易辨。

如果你更喜欢非交互式操作,也支持一行命令搞定:

$ bitbake-setup init --non-interactive poky-master poky-with-sstate \distro/poky machine/qemux86-64

四、快速上手:从零构建一个嵌入式镜像

在开始之前,确保你的构建主机(Build Host)满足以下要求:

磁盘空间:至少 140GB 空闲空间(推荐更多,以便保留构建产物和sstate缓存复用)。

内存:至少 32GB RAMCPU核心越多越好——Yocto构建是高度并行的。

操作系统:支持的主流Linux发行版,如 Ubuntu 22.04/24.04FedoraDebianCentOS Stream 等。

基础工具版本:Git >= 1.8.3.1tar >= 1.28Python >= 3.9.0gcc >= 10.1GNU Make >= 4.0

 Ubuntu/Debian 为例,先安装必要的宿主软件包:

sudo apt-get install build-essential chrpath cpio debianutils \diffstat file gawk gcc git iputils-ping libacl1 locales \python3 python3-git python3-jinja2 python3-pexpect \python3-pip python3-subunit socat texinfo unzip wget xz-utils zstd

同时确保 en_US.UTF-8locale 已启用:

$ sudo dpkg-reconfigure locales # 选择并启用en_US.UTF-8

接下来进入构建环节。初始化环境后,使用 bitbake-config-build 工具查看当前已启用的配置片段(fragments),然后构建镜像:

$ source poky-master-poky-distro_poky-machine_qemux86-64/build/init-build-env $ bitbake-config-build list-fragments $ bitbake core-image-sato

core-image-sato是一个带图形界面的参考镜像。首次构建可能需要数小时,因为需要从源码编译整个工具链、内核和用户空间。

构建完成后,可以使用 QEMU 直接运行验证:

$ runqemu qemux86-64

五、加速构建:共享状态缓存与哈希等价性

Yocto构建最让开发者头疼的问题之一就是时间太长。好消息是,5.3版本继续强化了Shared State Cachesstate机制。

通过启用 Yocto 官方提供的 CDN 缓存镜像,你可以直接下载预编译的中间产物,而不是从头编译:

$ bitbake-config-build enable-fragment core/yocto/sstate-mirror-cdn

这一机制配合 Hash Equivalence(哈希等价性)技术,可以在输入文件内容不变的情况下,即使构建路径或时间戳不同,也能复用已有的缓存。对于团队开发来说,搭建内部sstate 镜像服务器更是能将构建时间从数小时缩短到数十分钟。

此外,bitbake-setup 在初始化时还提供了poky-with-sstate 选项,直接预配置好 CDN 镜像,对新手极其友好。

六、Layer 模型:Yocto 的灵魂设计

如果说BitBakeYocto的心脏,那么Layer就是它的骨骼和肌肉。Layer机制让Yocto具备了无与伦比的扩展性和协作性。

一个典型的Yocto项目会叠加多个Layer

OE-Core Layer基础层,提供通用软件包配方和构建类。

BSP Layer板级支持包层,如 meta-intelmeta-raspberrypimeta-ti 等,提供特定硬件的内核、引导加载程序和驱动配置。

Distro Layer定义发行版策略,如默认C库、初始化系统(systemd/sysvinit)、包管理器格式(RPM/IPK/DEB)等。

自定义应用 Layer你自己的业务逻辑层,包含私有软件的配方、配置文件和镜像定制。

第三方社区 Layer meta-openembeddedmeta-qt5meta-clang 等,扩展软件包生态。

Layer之间通过依赖关系有序加载,配方之间通过 bbappend 文件进行覆盖和扩展,而不会直接修改上游Layer的源码。这种设计既保证了可追溯性,也方便了后续升级。

七、Yocto 的典型应用场景

工业控制与边缘计算:需要实时内核、确定性启动、工业协议栈(EtherCATModbus)支持。

车载信息娱乐系统:集成图形框架(Qt/Wayland)、多媒体编解码器、CAN总线通信,且需通过功能安全认证。

网络设备与通信网关:轻量级容器支持(Podman)、网络协议栈优化、DPDK数据面加速。

消费物联网设备:极致裁剪的系统镜像(<64MB)、OTA远程升级、安全启动(Secure Boot)。

AI推理终端:集成NPU驱动、TensorFlow Lite/ONNX Runtime推理框架、OpenCV图像预处理。

八、与其他构建工具的对比

提到嵌入式Linux构建,很多人会想到 Buildroot  OpenWrt。它们与 Yocto 的定位有所不同:

Buildroot简单、快速、适合小型项目。但扩展性有限,不适合需要复杂依赖管理和长期维护的大型项目。

OpenWrt专注于路由器/网关类设备,网络协议栈优化是其强项,但不适合通用嵌入式场景。

Yocto Project最灵活、最完整、生态最丰富,学习曲线稍陡,但一旦掌握,可以应对几乎所有嵌入式Linux定制化需求。

九、总结

Yocto Project 是嵌入式Linux开发领域的事实标准。从源码构建的确定性、Layer模型的扩展性、到丰富的软件包生态,它为开发者提供了从原型验证到量产交付的完整工具链。

5.3 版本引入的 bitbake-setup 工具显著降低了入门门槛,让新手可以在几分钟内完成环境配置,而不是在文档中摸索数小时。配合sstate 镜像和 Hash Equivalence,构建效率也得到了质的提升。

如果你正在从事嵌入式Linux开发,或者计划为特定硬件平台定制操作系统,Yocto Project 值得你投入时间深入学习。毕竟,掌控构建过程,就是掌控产品的根基。

参考资料:

The Yocto Project, Release 5.3-tip. The Linux Foundation, Apr 29, 2026.

官方文档:https://docs.yoctoproject.org/

源码仓库:https://git.yoctoproject.org/

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-03 20:45:54 HTTP/2.0 GET : https://f.mffb.com.cn/a/492898.html
  2. 运行时间 : 0.170138s [ 吞吐率:5.88req/s ] 内存消耗:4,570.48kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=948ea5dd195372f72860db8412dd75c1
  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.001009s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001322s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000751s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000611s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001153s ]
  6. SELECT * FROM `set` [ RunTime:0.000563s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001262s ]
  8. SELECT * FROM `article` WHERE `id` = 492898 LIMIT 1 [ RunTime:0.000995s ]
  9. UPDATE `article` SET `lasttime` = 1783082754 WHERE `id` = 492898 [ RunTime:0.023622s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.000402s ]
  11. SELECT * FROM `article` WHERE `id` < 492898 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000629s ]
  12. SELECT * FROM `article` WHERE `id` > 492898 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000381s ]
  13. SELECT * FROM `article` WHERE `id` < 492898 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000749s ]
  14. SELECT * FROM `article` WHERE `id` < 492898 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.001072s ]
  15. SELECT * FROM `article` WHERE `id` < 492898 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.000853s ]
0.171798s