乐于分享
好东西不私藏

一篇文章带你认识bentopdf

一篇文章带你认识bentopdf

产品概述

什么是 BentoPDF?

BentoPDF 是一个强大的、以隐私为优先的客户端 PDF 工具包,完全在浏览器中运行,无需任何服务器端处理。它提供了超过 100 种 PDF 处理工具,包括合并、拆分、转换、编辑、签名等功能,所有操作都在本地完成,确保您的文件安全和隐私。

产品优势
  • 隐私优先: 所有文件处理完全在用户浏览器中进行,不上传到任何服务器
  • 完全免费: 核心功能完全免费,开源可用
  • 无限制: 没有文件大小限制、没有使用次数限制
  • 自托管: 可以轻松部署在任何静态托管服务上
  • 多语言: 支持 20+ 种语言,包括中文简体和繁体
  • 双许可: AGPL-3.0 开源许可 + 商业许可

核心能力

PDF 组织与管理
PDF 编辑与修改
格式转换(转换为 PDF)

支持将以下格式转换为 PDF:

  • 图像格式: JPG、PNG、BMP、GIF、TIFF、WebP、HEIC、SVG、PSD
  • 文档格式: Word、Excel、PowerPoint、ODT、ODS、ODP、RTF、TXT
  • 电子书格式: EPUB、MOBI、FB2
  • 其他格式: CSV、Markdown、JSON、XML、CBZ、电子邮件 (EML/MSG)、Apple Pages、WordPerfect (WPD)、WPS Office、Microsoft Publisher (PUB)、Microsoft Visio (VSD/VSDX)
格式转换(从 PDF 转出)

支持将 PDF 转换为以下格式:

  • 图像格式: JPG、PNG、WebP、BMP、TIFF、SVG
  • 文档格式: Word、Excel、CSV、Text、Markdown
  • 其他格式: JSON、CBZ(漫画)、灰度 PDF
OCR 与识别
PDF 安全与优化
热门工具

竞品对比

BentoPDF vs 在线 PDF 工具
BentoPDF vs 其他开源 PDF 工具

设计理念

核心理念

1.隐私第一(Privacy First)

BentoPDF 的设计核心原则是保护用户隐私:

  • 零上传架构: 所有文件处理完全在用户浏览器中进行
  • 无服务器依赖: 不需要任何后端服务器处理
  • 数据最小化: 不收集用户的文件数据
  • 本地存储: 所有配置和设置存储在用户本地浏览器中

2.渐进式功能(Progressive Enhancement)

BentoPDF 采用渐进式增强的设计理念:

  • 核心功能优先: 基础 PDF 处理功能无需额外依赖
  • 可选 WASM 模块: 高级功能通过 WASM 模块提供,按需加载
  • 降级处理: 如果高级功能不可用,提供替代方案或友好提示
  • 用户可配置: 用户可以自定义 WASM 模块的来源和配置

3.可扩展性与可定制性

BentoPDF 设计时充分考虑了可定制需求:

  • 可禁用工具: 可以在构建时或运行时禁用特定工具
  • 自定义品牌: 支持修改 Logo、品牌名称和页脚文本
  • 多种部署模式: 完整模式、简洁模式、子目录部署等
  • 多语言支持: 易于添加新的语言翻译

4.性能优化

  • 按需加载: WASM 模块仅在需要时加载
  • Web Workers: 复杂计算在后台线程中进行,不阻塞 UI
  • 智能缓存: 常用资源进行本地缓存
  • 代码分割: 按工具模块进行代码分割,减少初始加载

5.安全设计

  • 非 root 运行: Docker 容器使用非 root 用户
  • 安全头配置: 完善的 CSP、COOP、COEP 等安全头
  • 内容验证: 对用户输入进行严格验证和清理
  • 最小权限: 遵循最小权限原则
架构设计原则
  1. 1.模块化设计: 每个工具相对独立,便于维护和扩展
  2. 2.依赖注入: 通过配置管理外部依赖(WASM 模块)
  3. 3.事件驱动: 使用事件机制解耦组件间通信
  4. 4.类型安全: 全面使用 TypeScript 确保代码质量
  5. 5.测试覆盖: 使用 Vitest 进行单元和集成测试

技术架构

系统架构图
┌─────────────────────────────────────────────────────────────────┐│                         用户界面层 (UI)                          │├─────────────────────────────────────────────────────────────────┤│  ┌──────────────┐  ┌──────────────┐  ┌────────────────────────┐ ││  │   工具页面   │  │   主页/搜索  │  │   PDF 编辑器/查看器    │ ││  └──────────────┘  └──────────────┘  └────────────────────────┘ ││  ┌──────────────────────────────────────────────────────────┐  ││  │                    工作流构建器 (Rete.js)                │  ││  └──────────────────────────────────────────────────────────┘  │├─────────────────────────────────────────────────────────────────┤│                       业务逻辑层 (Logic)                        │├─────────────────────────────────────────────────────────────────┤│  ┌──────────────┐ ┌──────────────┐ ┌────────────────────────┐ ││  │  PDF 操作    │ │ 格式转换     │ │   OCR/识别引擎         │ ││  └──────────────┘ └──────────────┘ └────────────────────────┘ ││  ┌──────────────┐ ┌──────────────┐ ┌────────────────────────┐ ││  │  签名/加密   │ │ 工作流引擎   │ │   表单处理             │ ││  └──────────────┘ └──────────────┘ └────────────────────────┘ │├─────────────────────────────────────────────────────────────────┤│                      核心服务层 (Services)                       │├─────────────────────────────────────────────────────────────────┤│  ┌────────────────┐ ┌────────────────┐ ┌───────────────────┐  ││  │  WASM 提供者  │ │ 国际化 (i18n) │ │   工具管理器       │  ││  └────────────────┘ └────────────────┘ └───────────────────┘  ││  ┌────────────────┐ ┌────────────────┐ ┌───────────────────┐  ││  │  快捷键管理   │ │ 配置管理       │ │   文件处理         │  ││  └────────────────┘ └────────────────┘ └───────────────────┘  │├─────────────────────────────────────────────────────────────────┤│                     技术基础设施层 (Infra)                       │├─────────────────────────────────────────────────────────────────┤│  ┌──────────────────────────────────────────────────────────┐  ││  │                     Vite 构建系统                        │  ││  └──────────────────────────────────────────────────────────┘  ││  ┌──────────────┐ ┌──────────────┐ ┌────────────────────────┐ ││  │  TypeScript  │ │ Tailwind CSS │ │   Handlebars 模板      │ ││  └──────────────┘ └──────────────┘ └────────────────────────┘ │├─────────────────────────────────────────────────────────────────┤│                       WASM 模块层 (WASM)                        │├─────────────────────────────────────────────────────────────────┤│  ┌──────────────┐ ┌──────────────┐ ┌────────────────────────┐ ││  │  PyMuPDF     │ │  Ghostscript │ │   CoherentPDF (CPDF)   │ ││  └──────────────┘ └──────────────┘ └────────────────────────┘ ││  ┌──────────────┐ ┌──────────────┐ ┌────────────────────────┐ ││  │  Tesseract   │ │  LibreOffice │ │   WASM-Vips            │ ││  └──────────────┘ └──────────────┘ └────────────────────────┘ │└─────────────────────────────────────────────────────────────────┘
目录结构详解
bentopdf/├── .github/                    # GitHub 配置│   ├── ISSUE_TEMPLATE/        # 问题模板│   └── workflows/             # CI/CD 工作流 (构建、发布、安全扫描)├── chart/                     # Helm Chart (Kubernetes 部署)│   ├── templates/│   └── values.yaml├── cloudflare/                # Cloudflare Workers 配置│   ├── cors-proxy-worker.js   # CORS 代理 Worker│   └── wasm-proxy-worker.js   # WASM 代理 Worker├── docs/                      # VitePress 文档│   ├── .vitepress/│   ├── self-hosting/          # 自托管指南│   └── tools/                 # 工具文档├── public/                    # 静态资源│   ├── images/               # 图片资源│   ├── locales/              # 多语言翻译文件│   │   ├── en/               # 英语│   │   ├── zh/               # 简体中文│   │   ├── zh-TW/            # 繁体中文│   │   └── ...               # 其他语言│   ├── pdfjs-annotation-viewer/  # PDF.js 注释查看器│   ├── pdfjs-viewer/         # PDF.js 查看器│   ├── libreoffice-wasm/     # LibreOffice WASM│   ├── workers/              # Web Workers│   └── config.json           # 运行时配置├── scripts/                   # 构建和发布脚本│   ├── build.js│   ├── prepare-airgap.sh     # 离线部署准备脚本│   ├── generate-i18n-pages.mjs│   ├── generate-sitemap.mjs│   └── ...├── src/│   ├── css/                  # 样式文件│   │   ├── styles.css│   │   ├── bookmark.css│   │   └── markdown-editor.css│   ├── js/│   │   ├── compare/          # PDF 比较功能│   │   ├── config/           # 配置文件│   │   │   ├── tools.ts      # 工具定义和分类│   │   │   ├── pdf-tools.ts  # PDF 工具配置│   │   │   └── ...│   │   ├── const/            # 常量定义│   │   ├── handlers/         # 事件处理器│   │   ├── i18n/             # 国际化│   │   │   ├── index.ts│   │   │   └── i18n.ts│   │   ├── logic/            # 工具逻辑实现 (100+ 工具)│   │   ├── types/            # TypeScript 类型定义│   │   ├── utils/            # 工具函数│   │   │   ├── wasm-provider.ts    # WASM 提供者管理│   │   │   ├── wasm-preloader.ts   # WASM 预加载│   │   │   ├── pdf-operations.ts   # PDF 操作工具│   │   │   ├── tesseract-runtime.ts # Tesseract OCR 运行时│   │   │   └── ...│   │   ├── workflow/         # 工作流引擎│   │   │   ├── nodes/        # 工作流节点定义│   │   │   ├── engine.ts     # 工作流执行引擎│   │   │   ├── editor.ts     # 工作流编辑器│   │   │   └── ...│   │   ├── main.ts           # 主入口文件│   │   └── ui.ts             # UI 工具函数│   ├── pages/                # 工具页面 (HTML)│   └── partials/             # Handlebars 模板片段├── docker-compose.yml        # Docker Compose 配置├── Dockerfile                # 主 Dockerfile├── Dockerfile.nonroot        # 非 root 用户 Dockerfile├── vite.config.ts            # Vite 配置├── package.json              # 项目依赖和脚本└── tsconfig.json             # TypeScript 配置核心模块
WASM 模块管理系统

BentoPDF 使用多个 WASM 模块来提供高级 PDF 处理功能。 wasm-provider.ts 负责管理这些模块。

classWasmProviderManager {privateconfigWasmProviderConfig;privatevalidationCacheMap<WasmPackageboolean>;privatetrustedHostsSet<string>;// 获取 WASM 模块 URLgetUrl(packageNameWasmPackage): string | undefined;// 设置自定义 WASM URLsetUrl(packageNameWasmPackageurlstring): void;// 验证 WASM 可用性validateUrl(packageNameWasmPackageurl?: string): Promise<{ validbooleanerror?: string }>;// 检查模块是否配置isConfigured(packageNameWasmPackage): boolean;}

支持的 WASM 模块

配置优先级

WASM 配置采用多优先级策略:

  1. 1.用户配置: 用户在高级设置中配置的 URL(最高优先级)
  2. 2.环境变量: 构建时通过环境变量配置的 URL
  3. 3.CDN 默认: 默认的 jsDelivr CDN URL(最低优先级)

安全机制

  • 可信主机: 只允许从预定义的可信主机加载 WASM
  • URL 验证: 验证 URL 格式和可达性
  • 本地存储: 用户配置安全存储在 localStorage
  • 内容类型检查: 验证返回的内容类型正确
工作流引擎

工作流引擎允许用户通过可视化界面创建自定义 PDF 处理管道。

  工作流执行流程

  1. 1.拓扑排序 :确保节点按正确的依赖顺序执行
  2. 2.循环检测 :防止出现无限循环
  3. 3.顺序执行 :逐个处理节点,支持进度显示
  4. 4.错误处理 :单个节点失败不会导致整个工作流崩溃
1. 拓扑排序 (Topological Sort)   ↓2. 循环检测 (Cycle Detection)   ↓3. 节点验证 (Node Validation)   ↓4. 顺序执行 (Sequential Execution)   ↓5. 进度报告 (Progress Reporting)   ↓6. 错误处理 (Error Handling)
  1. 支持的工作流节点
  • 输入节点:PDF Input
  • 处理节点:Merge、Split、Compress、Encrypt、Decrypt、Rotate、Crop、Watermark 等
  • 输出节点:Download
PDF 处理流水线

BentoPDF 实现了高效的 PDF 处理流水线:

处理流程

1.文件加载   ↓2.PDF 解析 (pdf-lib / PDF.js)   ↓3.操作执行 (根据工具选择)   ├─→ 基础操作 (pdf-lib)   ├─→ 高级操作 (PyMuPDF WASM)   ├─→ PDF/A 转换 (Ghostscript WASM)   └─→ 书签/元数据 (CoherentPDF WASM)   ↓4.结果生成   ↓5.文件下载

内存管理策略

  •  流式处理: 大文件分块处理,避免内存溢出
  •  及时释放: 处理完成后立即释放 ArrayBuffer
  •  Worker 隔离: 复杂计算在 Web Worker 中进行,避免阻塞主线程
  •  对象池: 重用常用对象,减少 GC 压力

安装部署

Docker 启动
docker run -p 3000:8080 ghcr.io/alam00000/bentopdf:latest

启动之后,通过IP+3000端口 即可访问。如:

本地开发环境部署
# 1. 克隆仓库git clone https://github.com/alam00000/bentopdf.gitcd bentopdf# 2. 安装依赖npm install# 3. 启动开发服务器npm run dev# 4. 打开浏览器访问 http://localhost:5173
测试
图片转PDF

优劣势与适用场景

核心优势
劣势与局限性

总结:

BentoPDF 最适合 :

  • ✅ 对隐私安全有高要求的用户和组织
  • ✅ 需要全面 PDF 工具但不想付费的用户
  • ✅ 企业内部需要统一、可定制 PDF 工具平台的场景
  • ✅ 有自托管/离线部署需求的环境
  • ✅ 教育机构和个人日常使用

BentoPDF 不太适合 :

  • ❌ 需要专业级 PDF 深度编辑功能的专业用户
  • ❌ 多人实时协作场景
  • ❌ 移动端优先使用场景
  • ❌ 超大文件(>1GB)批量处理场景

整体而言,BentoPDF 在隐私优先的 PDF 工具领域是一个功能全面且优秀的选择,特别适合企业内部部署和对数据安全有要求的用户使用。

项目链接:https://github.com/alam00000/bentopdf.git

大数据、大模型相关学习资料、大数据项目、湖仓一体、架构师必知必会、数据中台建设方法论...

共有1400多份文档资料,另专为星球成员整理了一份比较详细的语雀知识库合计190万字和飞书文档资料。(内容太多,仅展示部分内容...),欢迎大家踊跃加入星球,您将获得:

一、 提供最全的大数据知识库,不限设备,随时随地打开看的在线文档。

二、免费答疑解惑、交流技术

三、面试指导、模拟面试

四、各类pdf文档下载、星球代码下载

五、提供简历模板,简历修改指导服务,星球成员免费提供简历修改指导。

另外说明加入星球后支持三天无理由退款,不满意无条件随时退。

需要资料请加微信:D1435221412

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-05-09 17:36:50 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/592814.html
  2. 运行时间 : 0.118314s [ 吞吐率:8.45req/s ] 内存消耗:4,974.17kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=32324112db19b76032a3d76e6d0c82ba
  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.000580s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000841s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000336s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000254s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000544s ]
  6. SELECT * FROM `set` [ RunTime:0.000195s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000539s ]
  8. SELECT * FROM `article` WHERE `id` = 592814 LIMIT 1 [ RunTime:0.006464s ]
  9. UPDATE `article` SET `lasttime` = 1778319410 WHERE `id` = 592814 [ RunTime:0.000989s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000249s ]
  11. SELECT * FROM `article` WHERE `id` < 592814 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000627s ]
  12. SELECT * FROM `article` WHERE `id` > 592814 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000351s ]
  13. SELECT * FROM `article` WHERE `id` < 592814 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.003023s ]
  14. SELECT * FROM `article` WHERE `id` < 592814 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.004983s ]
  15. SELECT * FROM `article` WHERE `id` < 592814 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.003937s ]
0.122372s