乐于分享
好东西不私藏

告别人工质检!用AI实现PCB电路板瑕疵自动检测,效率提升10倍!

告别人工质检!用AI实现PCB电路板瑕疵自动检测,效率提升10倍!

前言

在电子制造行业,PCB(印刷电路板)质量检测是生产流程中的关键环节。传统的人工目检方式不仅效率低下、成本高昂,而且容易受到检测人员疲劳、经验等因素影响,导致漏检率和误检率居高不下。随着深度学习技术的发展,基于计算机视觉的自动化缺陷检测成为解决这一问题的有效方案。

本文将详细介绍如何从零搭建一个完整的PCB电路板瑕疵自动检测系统,涵盖前端界面、后端服务、模型训练与集成等各个方面。该系统能够自动识别PCB板上的多种缺陷类型,包括:

  • 缺失孔洞(Missing Hole)

  • 多余铜箔(Spurious Copper)

  • 杂散铜(Spur)

  • 短路(Short)

  • 开路(Open)

  • 鼠咬(Mouse Bite)

本项目采用现代化的技术栈:

  • 前端:Next.js 15 + React 19 + TypeScript + ShadCN UI + Tailwind CSS

  • 后端:FastAPI + Python + Ultralytics YOLOv8

  • 检测模型:基于YOLOv8s训练的PCB缺陷检测专用模型

  • 特色功能:图像/视频缺陷检测、模型管理、系统监控、大模型对话、检测结果可视化

更多内容关注公众号:DetectionHub


目录

  1. 项目概述与技术选型

  2. 系统架构设计

  3. 后端开发详解

  4. 前端开发详解

  5. 核心功能实现

  6. 部署与优化

  7. 总结与展望


1. 项目概述与技术选型

1.1 项目背景

PCB(Printed Circuit Board,印刷电路板)是电子产品的核心部件,其质量直接影响产品的可靠性和性能。在PCB生产过程中,由于工艺、材料、环境等因素,容易产生各种缺陷,如缺失孔洞、多余铜箔、短路、开路等。传统的人工目检方式存在以下问题:

  • 效率低:人工检测速度慢,无法满足大批量生产需求

  • 成本高:需要大量熟练检测人员,人力成本高昂

  • 准确率不稳定:受检测人员疲劳、经验等因素影响,漏检率和误检率较高

  • 难以标准化:不同检测人员的判断标准可能存在差异

本项目基于深度学习的YOLOv8目标检测算法,构建了一个完整的PCB电路板瑕疵自动检测系统,让用户可以:

  • 上传PCB图片/视频进行自动缺陷检测

  • 识别多种PCB缺陷类型(缺失孔洞、多余铜箔、短路等)

  • 管理和切换不同的检测模型

  • 实时监控系统运行状态

  • 查看检测结果统计和可视化分析

  • 与大语言模型进行智能对话,辅助缺陷分析

1.2 技术选型

前端技术栈

技术
版本
选择理由
Next.js
15.3.0
React 全栈框架,支持 SSR/SSG,性能优秀
React
19.0.0
最新版本,支持并发特性
TypeScript
5.x
类型安全,提升开发体验
Tailwind CSS
4.x
原子化 CSS,开发效率高
ShadCN UI
latest
美观的组件库,高度可定制
Recharts
2.15.2
强大的图表库

后端技术栈

技术
版本
选择理由
FastAPI
0.104.0
高性能异步框架,自动生成 API 文档
Ultralytics
8.0.0
YOLOv8 官方实现,易于使用
OpenCV
4.8.0
强大的计算机视觉库
psutil
5.9.0
系统监控库
YOLOv8s
-
基于YOLOv8s训练的PCB缺陷检测专用模型

2. 系统架构设计

2.1 整体架构

系统采用前后端分离的架构设计:

┌─────────────────────────────────────────────────────────────┐
│                        用户浏览器                            │
└─────────────────────────────────────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────┐
│                    Next.js 前端应用                          │
│  ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐           │
│  │PCB图像检测│ │PCB视频检测│ │ 模型管理 │ │ 系统监控 │           │
│  └─────────┘ └─────────┘ └─────────┘ └─────────┘           │
│  ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐           │
│  │ 数据大屏 │ │ LLM对话  │ │ 资源管理 │ │ 日志管理 │           │
│  └─────────┘ └─────────┘ └─────────┘ └─────────┘           │
└─────────────────────────────────────────────────────────────┘
                              │
                              ▼ HTTP/REST API
┌─────────────────────────────────────────────────────────────┐
│                    FastAPI 后端服务                          │
│  ┌─────────────────────────────────────────────────────┐   │
│  │                    API 路由层                        │   │
│  │  /api/images  /api/videos  /api/models  /api/llm   │   │
│  └─────────────────────────────────────────────────────┘   │
│  ┌─────────────────────────────────────────────────────┐   │
│  │                    业务逻辑层                        │   │
│  │  图片处理  视频处理  模型管理  系统监控  LLM调用     │   │
│  └─────────────────────────────────────────────────────┘   │
│  ┌─────────────────────────────────────────────────────┐   │
│  │                    数据存储层                        │   │
│  │  文件系统  模型文件  日志文件  配置文件              │   │
│  └─────────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────┐
│              YOLOv8 PCB缺陷检测模型                          │
│  ┌─────────────────────────────────────────────────────┐   │
│  │  训练模型:yolov8_PCB/trained/weights/best.pt       │   │
│  │  基础模型:YOLOv8s                                   │   │
│  │  训练数据:PCB缺陷数据集                             │   │
│  │  检测类别:缺失孔洞、多余铜箔、短路、开路等          │   │
│  └─────────────────────────────────────────────────────┘   │
│  ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐           │
│  │ YOLOv8n │ │ YOLOv8s │ │ YOLOv11n│ │ 自定义   │           │
│  └─────────┘ └─────────┘ └─────────┘ └─────────┘           │
└─────────────────────────────────────────────────────────────┘

2.2 目录结构

前端目录结构

shadcn-main/
├── src/
│   ├── app/                    # Next.js App Router 页面
│   │   ├── layout.tsx          # 根布局
│   │   ├── page.tsx            # 首页
│   │   ├── image-detection/    # 图像检测页面
│   │   ├── video-detection/    # 视频检测页面
│   │   ├── dashboard/          # 数据大屏
│   │   ├── system-monitor/     # 系统监控
│   │   ├── models/             # 模型管理
│   │   ├── llm-chat/           # LLM 对话
│   │   └── ...
│   ├── components/             # 组件目录
│   │   ├── ui/                 # ShadCN UI 组件
│   │   ├── AppSidebar.tsx      # 侧边栏
│   │   ├── Navbar.tsx          # 导航栏
│   │   └── ...
│   ├── lib/                    # 工具库
│   │   ├── api.ts              # API 封装
│   │   └── utils.ts            # 工具函数
│   └── hooks/                  # 自定义 Hooks
├── public/                     # 静态资源
└── package.json                # 依赖配置

后端目录结构

backend/
├── main.py                     # 主入口
├── detection.py                # 检测模块
├── images.py                   # 图片接口
├── videos.py                   # 视频接口
├── models.py                   # 模型接口
├── systems.py                  # 系统监控
├── llm.py                      # LLM 接口
├── vllm.py                     # 多模态接口
├── requirements.txt            # 依赖列表
├── images/                     # 图片存储
├── videos/                     # 视频存储
├── models/                     # 模型存储
└── logs/                       # 日志存储

3. 后端开发详解

3.1 FastAPI 应用初始化

首先创建 FastAPI 应用并配置基础设置:

from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from fastapi.staticfiles import StaticFiles
from contextlib import asynccontextmanager

@asynccontextmanager
asyncdeflifespan(app: FastAPI):
"""应用生命周期管理"""
    logger.info("目标检测系统API服务启动中...")
    init_models()  # 初始化模型
yield
    logger.info("目标检测系统API服务已关闭")

app = FastAPI(
    title="目标检测系统 API",
    description="集成 Ultralytics YOLO 目标检测模型的后端服务",
    version="1.0.0",
    lifespan=lifespan
)

# CORS 配置 - 允许前端跨域访问
app.add_middleware(
    CORSMiddleware,
    allow_origins=["*"],
    allow_credentials=True,
    allow_methods=["*"],
    allow_headers=["*"],
)

# 静态文件服务
app.mount("/static/images", StaticFiles(directory="images"), name="static_images")
app.mount("/static/videos", StaticFiles(directory="videos"), name="static_videos")

3.2 YOLO PCB缺陷检测实现

核心检测功能使用 Ultralytics YOLOv8,加载训练好的PCB缺陷检测模型:

from ultralytics import YOLO

# 全局模型变量
current_model: Optional[YOLO] = None
# 默认使用训练好的PCB缺陷检测模型
current_model_name: str = os.path.join(
    os.path.dirname(os.path.abspath(__file__)), 
"yolov8_PCB""trained""weights""best.pt"
)

defload_model(model_path: str = None) -> YOLO:
"""加载YOLO模型"""
global current_model, current_model_name

if model_path isNone:
        model_path = current_model_name

# 检查本地模型或使用默认模型
if os.path.exists(model_path):
        full_path = model_path
elif os.path.exists(os.path.join(MODELS_DIR, model_path)):
        full_path = os.path.join(MODELS_DIR, model_path)
else:
        full_path = model_path

    current_model = YOLO(full_path)
    current_model_name = os.path.basename(model_path)
return current_model

defdetect_image(image_path: str, output_dir: str, filename: str) -> dict:
"""PCB图片缺陷检测"""
    model = get_model()

# 执行检测
    results = model(image_path)

# 解析检测结果(缺陷类型、位置、置信度)
    detections = []
for result in results:
for box in result.boxes:
            detections.append({
"class_id"int(box.cls[0]),
"class_name": result.names[int(box.cls[0])],  # 如:missing_hole, spurious_copper
"confidence"round(float(box.conf[0]), 4),
"box": {
"x1"int(box.xyxy[0][0]),
"y1"int(box.xyxy[0][1]),
"x2"int(box.xyxy[0][2]),
"y2"int(box.xyxy[0][3])
                }
            })

# 保存标注后的图片(缺陷位置用边界框标出)
    annotated_frame = results[0].plot()
    cv2.imwrite(os.path.join(output_dir, filename), annotated_frame)

return {"filename": filename, "detections": detections}

4. 前端开发详解

4.1 项目初始化

使用 create-next-app 创建项目:

npx create-next-app@latest shadcn-main --typescript --tailwind --eslint --app
cd shadcn-main

# 安装 ShadCN UI
npx shadcn@latest init

# 添加需要的组件
npx shadcn@latest add button card dialog table chart sidebar

4.2 布局组件实现

根布局组件包含侧边栏、导航栏和主题切换:

// src/app/layout.tsx
import { ThemeProvider } from"@/components/providers/ThemeProvider";
import { SidebarProvider } from"@/components/ui/sidebar";
importAppSidebarfrom"@/components/AppSidebar";
importNavbarfrom"@/components/Navbar";

exportdefaultasyncfunctionRootLayout({
  children,
}: { children: React.ReactNode }
) {
const cookieStore = awaitcookies();
const defaultOpen = cookieStore.get("sidebar_state")?.value === "true";

return (
<htmllang="en"suppressHydrationWarning>
<bodyclassName="antialiased flex">
<ThemeProvider
attribute="class"
defaultTheme="system"
enableSystem
        >

<SidebarProviderdefaultOpen={defaultOpen}>
<AppSidebar />
<mainclassName="w-full">
<Navbar />
<divclassName="px-4">{children}</div>
</main>
</SidebarProvider>
</ThemeProvider>
</body>
</html>

  );
}

5. 核心功能实现

5.1 PCB图像缺陷检测流程

  1. 用户上传PCB电路板图片到前端

  2. 前端调用后端上传接口

  3. 后端保存图片到 images/upload 目录

  4. 用户点击检测按钮

  5. 后端加载训练好的YOLOv8 PCB缺陷检测模型

  6. 模型对PCB图片进行推理,识别各类缺陷

  7. 检测结果图片(标注缺陷位置)保存到 images/detected 目录

  8. 返回检测结果(缺陷类型、位置、置信度)

  9. 前端展示检测结果和缺陷统计信息

支持的PCB缺陷类型:

  • Missing Hole(缺失孔洞)

  • Spurious Copper(多余铜箔)

  • Spur(杂散铜)

  • Short(短路)

  • Open(开路)

  • Mouse Bite(鼠咬)

5.2 PCB视频缺陷检测流程

视频检测与图像检测类似,但需要逐帧处理PCB生产线视频:

  1. 用户上传PCB生产线视频文件

  2. 后端使用 OpenCV 读取视频

  3. 逐帧执行 YOLOv8 PCB缺陷检测

  4. 将检测结果(缺陷标注)绘制到每一帧

  5. 使用 VideoWriter 生成结果视频

  6. 使用 ffmpeg 转码为H.264格式(浏览器兼容)

  7. 返回检测统计信息(总帧数、缺陷数量、缺陷类型分布)

5.3 PCB缺陷检测模型管理

系统支持多模型管理,可以切换不同的检测模型:

  • 默认模型:训练好的YOLOv8s PCB缺陷检测模型(yolov8_PCB/trained/weights/best.pt

  • 模型上传:支持 .pt 格式的 YOLO 模型

  • 模型信息:名称、数据集、基础模型、版本、准确率

  • 模型切换:动态加载不同模型进行检测

  • 模型下载:支持单个和批量下载

PCB缺陷检测模型训练参数:

{
"base_model""yolov8s.pt",
"dataset""PCB缺陷数据集",
"epochs"100,
"batch_size"64,
"image_size"640,
"optimizer""auto",
"iou_threshold"0.7,
"confidence""auto"
}

5.4 PCB检测数据可视化大屏

大屏展示PCB缺陷检测的统计数据:

  • 统计卡片:检测图片数、检测视频数、可用模型数、总检测次数

  • 缺陷分布饼图:各类缺陷(缺失孔洞、多余铜箔、短路等)占比

  • 检测趋势图:近期PCB检测数量变化趋势

  • 缺陷类型统计柱状图:各类缺陷的检测数量对比

  • 最近检测记录表格:显示最新的PCB检测结果


6. 部署与优化

6.1 开发环境启动

# 启动后端
cd backend
pip install -r requirements.txt
uvicorn main:app --reload --port 8887

# 启动前端
cd shadcn-main
pnpm install
pnpm dev

6.2 生产环境部署

后端 Docker 部署

FROM python:3.11-slim

WORKDIR /app

RUN apt-get update && apt-get install -y libgl1-mesa-glx libglib2.0-0

COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

COPY . .

RUN mkdir -p images/upload images/detected videos/upload videos/detected models logs

EXPOSE 8887

CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8887"]

前端部署

# 构建生产版本
pnpm build

# 部署到 Vercel
vercel --prod

6.3 性能优化建议

  1. 后端优化

    • 使用 GPU 加速 YOLO 推理

    • 实现模型缓存,避免重复加载

    • 大文件使用流式处理

    • 添加请求限流

  2. 前端优化

    • 使用 React.memo 减少重渲染

    • 图片懒加载

    • 代码分割

    • 静态资源 CDN 加速


7. 总结与展望

7.1 项目总结

本项目实现了一个完整的PCB电路板瑕疵自动检测系统,具有以下特点:

  1. 现代化技术栈:Next.js 15 + FastAPI + YOLOv8,确保高性能和良好的用户体验

  2. 专业的PCB缺陷检测:基于YOLOv8s训练的专用模型,可识别多种PCB缺陷类型

  3. 完整功能模块:图像/视频检测、模型管理、系统监控、数据可视化、AI 对话

  4. 高效的检测性能:相比人工质检,检测效率提升10倍以上,准确率更稳定

  5. 优秀的用户体验:响应式设计、主题切换、实时预览、流式响应

  6. 良好的代码组织:模块化设计、类型安全、API 规范

应用价值:

  • 降低人工成本:减少对熟练检测人员的依赖

  • 提高检测效率:自动化检测,处理速度快

  • 提升检测质量:AI模型不受疲劳影响,检测标准统一

  • 数据可追溯:所有检测结果可保存、查询、分析

7.2 未来展望

  • 支持实时PCB生产线视频流检测

  • 添加缺陷严重程度分级功能

  • 支持PCB缺陷检测模型在线训练和微调

  • 添加检测结果导出功能(Excel、PDF报告)

  • 集成更多工业检测场景(如焊点检测、元器件检测)

  • 支持检测结果的统计分析和质量追溯

  • 开发移动端应用,支持现场检测


联系方式

如果您对项目有任何问题或建议,欢迎通过以下方式联系:

  • 微信公众号:DetectionHub

感谢阅读!如果觉得有帮助,请点赞、收藏、分享!

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-06-09 10:02:44 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/727742.html
  2. 运行时间 : 0.222694s [ 吞吐率:4.49req/s ] 内存消耗:4,727.29kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=178ed98767f1f3a8ca0a2a293195e416
  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.001038s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001902s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000741s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000643s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001471s ]
  6. SELECT * FROM `set` [ RunTime:0.002092s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001723s ]
  8. SELECT * FROM `article` WHERE `id` = 727742 LIMIT 1 [ RunTime:0.003239s ]
  9. UPDATE `article` SET `lasttime` = 1780970564 WHERE `id` = 727742 [ RunTime:0.003968s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000662s ]
  11. SELECT * FROM `article` WHERE `id` < 727742 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001130s ]
  12. SELECT * FROM `article` WHERE `id` > 727742 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001151s ]
  13. SELECT * FROM `article` WHERE `id` < 727742 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.005045s ]
  14. SELECT * FROM `article` WHERE `id` < 727742 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.001591s ]
  15. SELECT * FROM `article` WHERE `id` < 727742 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.002112s ]
0.227023s