乐于分享
好东西不私藏

openMVG 源码深度解析:C++ 多视图几何 SfM 3D重建框架全攻略 | 安装、Pipeline 实战与架构原理解析

openMVG 源码深度解析:C++ 多视图几何 SfM 3D重建框架全攻略 | 安装、Pipeline 实战与架构原理解析

选择 openMVG

openMVG(open Multiple View Geometry) 专注于多视图几何(Multiple View Geometry)Structure from Motion (SfM)领域。为计算机视觉研究者和开发者提供了一个端到端、模块化、可复现的 3D 重建框架。

Mission:通过开发 C++ 框架,推广图像/摄影测量 3D 重建的力量。

Vision:用易读、准确的 state-of-the-art 与经典算法实现,简化可复现研究。

Credo:“Keep it simple, keep it maintainable”。代码设计易读、易学、易修改、易用;严格测试驱动开发(TDD)+ 大量 samples,让构建可信大型系统成为可能。

与许多“黑盒”工具不同,openMVG 强调源码可读性算法透明度,非常适合想深入理解 SfM 原理、进行二次开发或构建专业 pipeline 的开发者。不仅提供库和可执行二进制,还提供 Python 脚本将它们串联成完整 pipeline,并支持导出到 openMVS 等工具进行稠密重建。

一、核心功能

openMVG 采用三层架构(Libraries + Binaries + Pipelines),外加丰富辅助工具。

1. Libraries(核心库模块)

提供底层可复用组件(位于 src/openMVG/):

图像操作:加载、处理(libpng/jpeg/tiff 支持)。

特征描述与匹配:SIFT 等描述子提取、匹配。

特征跟踪(Feature Tracking):支持无序图像集的高效跟踪(对应论文 “Unordered feature tracking made fast and easy”)。

相机模型(Camera Models):Pinhole、Pinhole Radial(带畸变)、Fisheye 等多种模型,支持内参标定与去畸变。

多视图几何(Multiple-View-Geometry):基础矩阵(Fundamental)、本质矩阵(Essential)、单应性(Homography)、PnP 解算(Resection)、三角化(Triangulation)等求解器。

鲁棒估计(Robust Estimation):a contrario 框架(参数-free 的 RANSAC-like 方法,基于统计模型自动拒绝外点,对应多篇论文)。

Structure-from-Motion 算法:增量式(Incremental)与全局式(Global)重建引擎。

2. Binaries(核心可执行工具,openMVG_main_* 前缀)

这些是构建 pipeline 的“积木”(位于 src/software/):

openMVG_main_SfMInit_ImageListing:场景初始化,创建 sfm_data文件,引用每张图像为 View,关联 Intrinsic ID 和 Pose ID,支持相机模型选择。

openMVG_main_ComputeFeatures:为所有 View 计算描述子(Regions),支持多线程(-n参数)、缓存(-c大数据集优化)。

openMVG_main_ComputeMatches:计算图像对匹配(PairWiseMatches),支持 exhaustive、cascade hashing 等策略 + a contrario 鲁棒过滤,可选 guided matching。

openMVG_main_SfM:核心 SfM 引擎,支持 --sfm_engine INCREMENTAL(顺序添加视图)、INCREMENTALV2(更快版本)、GLOBAL(全局运动平均)。

openMVG_main_ComputeStructureFromKnownPoses:已知相机位姿下生成 3D 点云(三角化或对极线搜索),支持短轨迹(2-view)。

openMVG_main_SfM_Localization:在已有重建场景中定位新图像的相机位姿。

openMVG_main_ConvertSfM_DataFormat:格式转换(sfm_data.bin ↔ JSON/XML/PLY 等)。

其他重要工具(从 releases 与源码结构):

openMVG_main_SfMInit_ImageListingFromKnownPoses(已知 GT 位姿初始化)。

openMVG_main_ChangeLocalOrigin(归一化 GPS 场景原点,适配 MVS)。

colorHarmonize(颜色一致性校正,便于纹理映射)。

Geodesy 模块(GCP 地面控制点注册支持)。

VO(Visual Odometry)相关工具。

SfMViewer / SfMWebGLViewer(可视化与 WebGL 查看器)。

3. Pipelines

项目提供 Python 脚本(位于 software/SfM/):

SfM_SequentialPipeline.py:增量式(Incremental)pipeline。

SfM_GlobalPipeline.py:全局式(Global)pipeline。

两者均自动链式调用上述 binaries,处理从图像集到 sfm_data.bin+ PLY 输出的全流程。

4. 其他功能与扩展

跨平台:Linux、macOS、Windows、Android、iOS。

与第三方集成:导出到 openMVS(稠密点云/纹理网格)、OpenCV 支持(CMake -DOpenMVG_USE_OPENCV=ON)。

测试驱动 + Samples:大量 unit tests 和示例代码,展示如何使用库构建高层算法。

图可视化:支持 Graphviz .dot导出匹配/轨迹图(需安装 graphviz)。

缓存与大规模支持-c参数启用缓存,适合大图像集在小内存机器上运行。

总结功能矩阵

稀疏 SfM(增量/全局)

特征提取/匹配/跟踪

多相机模型 + 鲁棒估计(a contrario)

位姿估计、三角化、BA(Ceres 优化)

场景序列化(cereal)

导出与可视化

定位、颜色校正、测地/GCP 支持

作为库嵌入第三方 CMake 项目

二、详细安装方法

项目构建系统为 CMake,依赖管理清晰(子模块 + 可选系统库/VCPKG/Pixi/Docker)。

推荐获取方式(递归克隆子模块)

bash
git clone --recursive https://github.com/openMVG/openMVG.git
# 或
git clone https://github.com/openMVG/openMVG.git
cd openMVG
git submodule init && git submodule update

1. Linux(Ubuntu 示例)

bash
sudo apt-get install libpng-dev libjpeg-dev libtiff-dev libxxf86vm-dev libxi-dev libxrandr-dev graphviz  # 可选 graphviz 用于可视化
mkdir openMVG_Build && cd openMVG_Build
cmake -DCMAKE_BUILD_TYPE=RELEASE ../openMVG/src/
cmake --build . --target install -j$(nproc)
# 启用测试/示例
cmake -DOpenMVG_BUILD_TESTS=ON -DOpenMVG_BUILD_EXAMPLES=ON ../openMVG/src/

2. macOS

类似 Linux,或用 Xcode:

bash
cmake -DCMAKE_BUILD_TYPE=RELEASE -G "Xcode" ../openMVG/src/
xcodebuild -configuration Release

3. Windows

用 cmake-gui 或 VS Native Tools Command Prompt:

Source: openMVG/src/

Build: 新建目录

Configure → Generate → 打开 .sln → Release 编译

4. VCPKG(推荐跨平台依赖管理)

bash
vcpkg install openmvg[core,openmp]  # 或手动安装 cereal ceres eigen3 libjpeg-turbo libpng tiff
# 构建时
cmake -DCMAKE_TOOLCHAIN_FILE=<vcpkg>/scripts/buildsystems/vcpkg.cmake ../openMVG/src/

5. Docker(最干净可复现)

bash
docker build . -t openmvg
docker run -it --rm -v /path/to/dataset:/dataset:ro openmvg

6. Pixi(现代 Python/环境管理,Linux/macOS)

bash
curl -fsSL https://pixi.sh/install.sh | bash
pixi run build
pixi shell
# 之后可直接运行 binaries 或 python 脚本

7. CMake 关键选项(深度定制)

OpenMVG_BUILD_SOFTWARES=ON(默认构建 binaries)

OpenMVG_BUILD_TESTS=ON

OpenMVG_BUILD_EXAMPLES=ON

OpenMVG_USE_OPENCV=ONOpenCV_DIR=...

CMAKE_INSTALL_PREFIX:本地安装避免系统污染(推荐与 Ceres 冲突隔离)

作为第三方库使用

安装后用 find_package(OpenMVG ...),链接 openMVG::openMVG_*目标。推荐本地 install prefix。

依赖核心(从 VCPKG/BUILD 推断 + 项目实践):Eigen(线性代数)、Ceres(非线性优化/BA)、cereal(序列化 sfm_data.bin)、图像库(libpng/jpeg/tiff)。

三、高效使用方法

输入要求:图像文件夹(JPEG/PNG/TIFF 等,支持 EXIF 焦距)。若无 EXIF,用 -f X*1.2(X = max(width,height))在初始化阶段提供近似焦距。

推荐 workflow

bash
cd openMVG_Build/software/SfM/
# 增量式(适合有序/小规模,逐步添加视图)
python SfM_SequentialPipeline.py /path/to/images /path/to/output_incremental

# 全局式(适合无序/大规模,鲁棒性与可扩展性更好)
python SfM_GlobalPipeline.py /path/to/images /path/to/output_global

手动精细控制

1.场景初始化

bash
openMVG_main_SfMInit_ImageListing -i images/ -o output/ -f 3000  # 或让 EXIF 自动读取

2.特征提取(多线程 + 缓存优化大图集)

bash
openMVG_main_ComputeFeatures -i output/sfm_data.bin -o output/ -n 8 -c 1

3.匹配(a contrario 自动参数-free 外点剔除)

bash
openMVG_main_ComputeMatches -i output/sfm_data.bin -o output/ -f 1  # -f 启用 guided matching

4.SfM 重建

bash
openMVG_main_SfM -i output/sfm_data.bin -m output/matches/ -o output/ --sfm_engine INCREMENTAL
   # 或 GLOBAL(推荐大规模无序场景)

5.结构计算 + 导出

bash
openMVG_main_ComputeStructureFromKnownPoses ...
   openMVG_main_ConvertSfM_DataFormat -i output/sfm_data.bin -o output/ --output_file_format PLY

输出

sfm_data.bin(核心二进制场景文件:Views + Intrinsics + Poses + Landmarks + Tracks)

cloud_and_poses.ply(绿色相机轨迹 + 白色/彩色 3D 点,用 Meshlab/CloudCompare 查看)

colorized.ply

高效技巧

大数据集用 -c缓存 + Global engine + 多线程。

Incremental 适合顺序拍摄(但可能累积漂移);Global 更鲁棒、可扩展(旋转平均 + 平移平均)。

良好图像重叠(>60%)+ 纹理丰富场景是成功关键。

可视化匹配图/轨迹用 Graphviz。

后续接 openMVS 做稠密 + 纹理(项目明确支持导出)。

四、技术原理与架构

1. 核心数据结构(SfM_Data 为中心)

项目以 sfm_data.bin(cereal 序列化)为核心场景表示:

Views:每张图像 + 关联 Intrinsic ID + Pose ID。

Intrinsics:相机模型参数(Pinhole 焦距/主点 + 径向畸变系数等)。

Poses:相机外参(旋转 + 平移,SE(3))。

Landmarks:3D 点 + 多视图观测(Observations)。

Tracks:跨视图特征轨迹(从匹配构建)。

PairWiseMatches / Regions:匹配关系与描述子集合。

让“运动”(相机位姿)与“结构”(3D 点)解耦,便于增量/全局优化。

2. 算法流程原理

标准 SfM Pipeline 实现

1.特征提取→ 描述子(SIFT 等)。

2.匹配 + 鲁棒估计:a contrario 框架(无需手动阈值,基于随机模型自动控制假阳性率,对应 Moulon 等 ACCV/IPOL 论文)。

3.相对运动估计:2-view(F/E 矩阵)或多 view。

4.增量式 SfM:选初始对 → resection(PnP)添加新视图 → 三角化新点 → 局部/全局 Bundle Adjustment(Ceres 优化重投影误差)。

5.全局式 SfM:先计算所有相对旋转/平移 → 旋转平均(SO(3))→ 平移平均 → 最终 BA(对应 ICCV 2013 Global Fusion 论文)。

6.三角化与结构精化

架构亮点(“Keep it simple”):

模块化:features、matching、multiview、sfm、robust_estimation 独立,易替换/扩展。

泛型设计:多视图求解器框架可嵌入任意鲁棒估计器。

测试驱动:每个算法有严格 unit test + samples。

依赖精简:Eigen(数学)、Ceres(BA)、cereal(I/O)。

可扩展性:支持自定义 SfM engine(继承 ReconstructionEngine)。

项目实现了多篇高影响力论文的核心算法(a contrario SfM、Global SfM、Tracks 等),代码可读性极高,适合学习 MVG 经典与现代方法。

openMVG 是稀疏 SfM 领域最干净、文档相对完善、源码最易读的 C++ 框架之一。可学习、可修改、可生产的科研/工程基石。结合 openMVS 可完成从稀疏到稠密纹理的全流程。

适用场景:学术研究、3D 建模、SLAM 前端、摄影测量、机器人视觉 mapping。

掌握 openMVG 后,将真正理解“图像 → 特征 → 匹配 → 运动与结构恢复”的完整链路,并能高效构建自定义 3D 重建系统。

FaceX:浏览器零服务器跑完整人脸识别栈!GitHub开源神器,3ms嵌入、99.07% LFW、纯WASM + SIMD + AES加密,源码深度拆解+安装使用全攻略
OpenCTI:开源威胁情报平台的终极实战指南 ——基于STIX 2.1知识图谱的完整功能、用法、安装与架构
开源CapCut终极杀手!纯浏览器零安装专业视频编辑神器OpenReel Video:全功能深度解析 + 源码架构 + 极致上手指南
7M 轻量AI终端神器Terax ,内置智能代理+代码编辑器+实时Web预览,Rust+Tauri架构,完整安装使用指南
Mastra:23.7k Star开源TypeScript AI Agent全栈框架,Agents+Workflows+RAG+Evals+Studio一站式从原型到生产
基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-06-30 10:31:03 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/807933.html
  2. 运行时间 : 0.200000s [ 吞吐率:5.00req/s ] 内存消耗:4,713.27kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=eed634c64bb63bd0124eeb53eb5f09d6
  1. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_static.php ( 6.05 KB )
  7. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/ralouphie/getallheaders/src/getallheaders.php ( 1.60 KB )
  10. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  11. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  12. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  13. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  14. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  15. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  16. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  17. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  18. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  19. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions_include.php ( 0.16 KB )
  21. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions.php ( 5.54 KB )
  22. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  23. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  24. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  25. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/provider.php ( 0.19 KB )
  26. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  27. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  28. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  29. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/common.php ( 0.03 KB )
  30. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  32. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/alipay.php ( 3.59 KB )
  33. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  34. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/app.php ( 0.95 KB )
  35. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cache.php ( 0.78 KB )
  36. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/console.php ( 0.23 KB )
  37. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cookie.php ( 0.56 KB )
  38. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/database.php ( 2.48 KB )
  39. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/filesystem.php ( 0.61 KB )
  40. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/lang.php ( 0.91 KB )
  41. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/log.php ( 1.35 KB )
  42. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/middleware.php ( 0.19 KB )
  43. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/route.php ( 1.89 KB )
  44. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/session.php ( 0.57 KB )
  45. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/trace.php ( 0.34 KB )
  46. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/view.php ( 0.82 KB )
  47. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/event.php ( 0.25 KB )
  48. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  49. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/service.php ( 0.13 KB )
  50. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/AppService.php ( 0.26 KB )
  51. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  52. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  53. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  54. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  55. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  56. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/services.php ( 0.14 KB )
  57. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  58. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  59. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  60. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  61. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  62. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  63. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  64. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  65. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  66. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  67. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  68. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  69. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  70. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  71. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  72. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  73. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  74. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  75. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  76. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  77. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  78. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  79. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  80. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  81. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  82. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  83. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  84. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  85. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  86. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  87. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/Request.php ( 0.09 KB )
  88. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  89. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/middleware.php ( 0.25 KB )
  90. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  91. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  92. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  93. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  94. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  95. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  96. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  97. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  98. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  99. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  100. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  101. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  102. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  103. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/route/app.php ( 3.94 KB )
  104. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  105. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  106. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Index.php ( 9.87 KB )
  108. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/BaseController.php ( 2.05 KB )
  109. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  110. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  111. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  112. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  113. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  114. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  115. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  116. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  117. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  118. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  119. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  120. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  121. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  122. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  123. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  124. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  125. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  126. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  127. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  128. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  129. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  130. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  131. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  132. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  133. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  134. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  135. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Es.php ( 3.30 KB )
  136. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  137. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  138. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  139. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  140. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  141. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  142. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  143. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  144. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/runtime/temp/c935550e3e8a3a4c27dd94e439343fdf.php ( 31.50 KB )
  145. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000658s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000967s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000990s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000707s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001669s ]
  6. SELECT * FROM `set` [ RunTime:0.000621s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001552s ]
  8. SELECT * FROM `article` WHERE `id` = 807933 LIMIT 1 [ RunTime:0.004619s ]
  9. UPDATE `article` SET `lasttime` = 1782786663 WHERE `id` = 807933 [ RunTime:0.009046s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000720s ]
  11. SELECT * FROM `article` WHERE `id` < 807933 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001327s ]
  12. SELECT * FROM `article` WHERE `id` > 807933 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001201s ]
  13. SELECT * FROM `article` WHERE `id` < 807933 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.003183s ]
  14. SELECT * FROM `article` WHERE `id` < 807933 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.018327s ]
  15. SELECT * FROM `article` WHERE `id` < 807933 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.037195s ]
0.204024s