当前位置:首页>python>Python二维码库选型全解

Python二维码库选型全解

  • 2026-02-20 06:50:27
Python二维码库选型全解

在Python生态中,二维码相关的库种类繁多,各有侧重。从生成到解码,从简单文本到艺术效果,从单线程到批量处理,选择合适的库往往能让开发事半功倍。本文将全面梳理Python二维码库生态,帮助开发者在不同场景下做出最佳选择。

Python二维码库全景图

库的分类

根据功能定位,Python二维码库可分为四大类:

类别
代表库
核心功能
生成类
qrcode、segno、pyqrcode
将数据编码为二维码图像
解码类
pyzbar、python-zxing、opencv
从图像中识别和解码二维码
创意类
MyQR、amzqr
生成艺术效果或动态二维码
专业类
商业SDK
企业级、工业级解决方案

功能矩阵总览

库名
生成
解码
艺术效果
动态
批量
实时
SVG
零依赖
解码率
qrcode
有限
-
segno
-
pyqrcode
-
MyQR
有限
-
pyzbar
有限
⭐⭐⭐⭐⭐
python-zxing
有限
⭐⭐⭐⭐
opencv
有限
⭐⭐⭐
pillow
有限
有限

核心库深度解析

qrcode —— 全能生成王者

qrcode是Python生态中使用最广泛的二维码生成库,以其简洁的API和丰富的功能深受开发者喜爱。

核心优势

  • 极简入门:两行代码即可生成标准二维码
  • 参数全面:支持版本(1-40)、4级纠错、模块大小、边框等完整参数
  • 扩展丰富:通过插件支持PNG、SVG等多种格式,可自定义模块形状
  • 社区活跃:文档完善,问题响应快,遇到坑容易找到解决方案

典型应用场景

  • Web应用后端生成二维码
  • 桌面软件集成二维码功能
  • 批量生成标准化二维码
  • 需要精细控制二维码参数的场景

segno —— 专业级生成工具

segno(意大利语"符号")是一个功能全面的QR码和微QR码生成器,在专业领域有独特优势。

核心优势

  • 微QR码支持:唯一支持Micro QR Code的Python库,适合极小空间
  • 结构化追加:支持将长消息拆分到多个二维码中,适合分页存储
  • 零依赖:纯Python实现,无需安装额外库
  • 序列化丰富:内置支持SVG、EPS、PDF、LaTeX等格式

典型应用场景

  • 嵌入式系统(依赖敏感)
  • 学术研究和教学演示
  • 需要微二维码的特殊应用
  • 离线环境部署

pyzbar —— 解码领域王者

pyzbar是对ZBar条形码阅读器的Python封装,在二维码解码领域占据主导地位。

核心优势

  • 解码速度极快:单张图片15-30ms,适合实时处理
  • 识别率超高:对各种变形、模糊、倾斜的二维码都有良好表现
  • 多码同时识别:单张图片可识别多个二维码
  • 位置信息返回:可获取二维码在图像中的精确坐标
  • 与OpenCV无缝集成:直接处理OpenCV的numpy数组

典型应用场景

  • 摄像头实时扫描系统
  • 批量图片解码处理
  • 需要精确位置信息的应用
  • 移动应用后端服务

解码能力实测对比

测试场景
pyzbar
python-zxing
opencv
标准打印二维码
100%
100%
98%
屏幕拍摄二维码
98%
95%
90%
污损二维码
85%
80%
65%
倾斜二维码
95%
85%
80%
低光照条件
90%
80%
70%

python-zxing —— Java巨头的Python封装

python-zxing是对著名开源Java库ZXing(Zebra Crossing)的Python封装,ZXing是Android原生使用的条码库。

核心优势

  • 血统纯正:继承ZXing十多年的优化积累
  • 格式全面:支持QR码及其他数十种条码格式
  • 算法成熟:解码算法经过大量实战检验
  • 跨平台:基于Java,可在各种平台上运行

典型应用场景

  • 需要ZXing特定算法的研究
  • 与其他ZXing生态工具配合
  • pyzbar无法解码的特殊情况

opencv —— 计算机视觉方案

OpenCV作为计算机视觉库,提供了二维码检测和解码功能,适合与图像处理流程集成。

核心优势

  • 实时性能最佳:针对视频流优化,帧率高
  • 图像预处理:可结合OpenCV强大功能提高识别率
  • 自定义管道:可插入自定义的图像处理步骤
  • 跨平台:支持所有主流平台

典型应用场景

  • 工业流水线检测
  • 视频监控系统
  • 需要复杂图像预处理的场景
  • 嵌入式视觉系统

MyQR —— 艺术二维码专家

MyQR专注于生成带有背景图片的动态二维码,在视觉营销领域独树一帜。

核心优势

  • 静态艺术二维码:将图片作为背景,生成艺术二维码
  • 动态二维码:支持GIF动图作为背景,生成会动的二维码
  • 参数丰富:可调节对比度、亮度等视觉效果

典型应用场景

  • 社交媒体营销
  • 品牌宣传物料
  • 创意广告
  • 个性化礼品

pyqrcode —— 轻量级选手

pyqrcode是一个完全用Python编写的二维码生成模块,追求极简和零依赖。

核心优势

  • 零依赖:纯Python实现,无需编译
  • 多格式输出:原生支持SVG、EPS、XBM
  • 标准兼容:严格遵循QR码ISO标准

典型应用场景

  • 对依赖敏感的部署环境
  • 简单的命令行工具
  • 教学示例代码

选型指南

场景化选型表

应用场景
推荐组合
理由
Web应用后端
qrcode(生成)+ pyzbar(解码)
qrcode功能全面,pyzbar解码快速
移动App服务端
qrcode
只需生成,API简洁稳定
实时摄像头扫描
opencv + pyzbar
opencv捕获视频,pyzbar解码
批量图片处理
pyzbar
解码速度快,支持多码识别
艺术营销二维码
MyQR
视觉效果出众,支持动图
嵌入式系统
segno + pyzbar(如果可行)
segno零依赖生成,pyzbar轻量解码
学术研究
segno + python-zxing
segno符合标准,zxing算法丰富
工业视觉
opencv
可深度定制预处理流程
电商平台
qrcode
稳定可靠,文档完善

组合使用

在实际项目中,常常需要组合多个库来满足完整需求:

标准Web服务组合

# 生成:qrcodeimport qrcodeqr = qrcode.QRCode(version=5, error_correction=qrcode.constants.ERROR_CORRECT_H)qr.add_data(user_data)qr.make(fit=True)img = qr.make_image()img.save(f"qrcodes/{user_id}.png")# 解码:pyzbar(用户上传图片时)from pyzbar.pyzbar import decoderesult = decode(uploaded_image)if result:    data = result[0].data.decode('utf-8')

实时扫描系统组合

# 视频捕获:opencvimport cv2# 解码:pyzbarfrom pyzbar.pyzbar import decodecap = cv2.VideoCapture(0)whileTrue:    ret, frame = cap.read()# 可选:图像预处理提高识别率    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)# 解码    results = decode(gray)for result in results:        print(f"扫描到: {result.data.decode('utf-8')}")

决策树

开始选型    ↓主要需求是什么?    ├── 生成二维码 → 是否需要艺术效果?    │                 ├── 是 → MyQR    │                 └── 否 → 是否需要零依赖?    │                         ├── 是 → 是否需要微QR码?    │                         │       ├── 是 → segno    │                         │       └── 否 → pyqrcode    │                         └── 否 → 需要SVG输出?    │                                 ├── 是 → segno/qrcode    │                                 └── 否 → qrcode    │    └── 解码二维码 → 处理方式?                    ├── 实时视频 → opencv + pyzbar                    ├── 批量图片 → pyzbar                    ├── 特殊格式 → python-zxing                    └── 嵌入式 → 根据硬件选择

常见问题

生成问题

Q1:生成的二维码扫描不出来?

可能原因及解决方案:

  • 尺寸太小:增大box_size参数
  • 对比度不足:确保前景色深、背景色浅
  • 空白区不够:增加border值(至少4)
  • 版本过低:提高版本或启用自动版本

Q2:中文显示乱码?

# 确保数据正确编码data = "中文内容".encode('utf-8').decode('utf-8')qr.add_data(data)# 或者使用字节模式qr.add_data("中文内容", optimize=0)  # 强制使用字节模式

解码问题

Q1:pyzbar解码失败怎么办?

import cv2import numpy as npfrom pyzbar.pyzbar import decodedefrobust_decode(image_path):# 读取图像    img = cv2.imread(image_path)# 尝试多种预处理    strategies = []# 原图    strategies.append(img)# 灰度图    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)    strategies.append(gray)# 自适应阈值二值化    thresh = cv2.adaptiveThreshold(gray, 255                                   cv2.ADAPTIVE_THRESH_GAUSSIAN_C,                                   cv2.THRESH_BINARY, 112)    strategies.append(thresh)# 锐化    kernel = np.array([[-1,-1,-1],                       [-19,-1],                       [-1,-1,-1]])    sharpened = cv2.filter2D(gray, -1, kernel)    strategies.append(sharpened)# 尝试每种策略for s in strategies:        results = decode(s)if results:return resultsreturnNone

Q2:如何提高摄像头扫描的帧率?

import cv2from pyzbar.pyzbar import decodefrom collections import dequeimport threadingclassFastQRScanner:def__init__(self):        self.results = deque(maxlen=10)        self.running = Truedefscan_thread(self, frame):# 在独立线程中解码,不阻塞主循环        results = decode(frame)if results:            self.results.append(results)defrun(self):        cap = cv2.VideoCapture(0)        cap.set(cv2.CAP_PROP_FRAME_WIDTH, 640)        cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 480)while self.running:            ret, frame = cap.read()ifnot ret:continue# 显示当前帧(不等待解码)            cv2.imshow('Scanner', frame)# 异步解码            threading.Thread(target=self.scan_thread,                            args=(frame.copy(),)).start()# 显示已解码的结果if self.results:for res in self.results[-1]:                    print(f"发现: {res.data.decode('utf-8')}")if cv2.waitKey(1) & 0xFF == ord('q'):break        cap.release()        cv2.destroyAllWindows()

应用考量

高并发处理

对于高并发场景(如电商大促),需要考虑:

架构设计

  • 生成服务:独立部署,使用消息队列异步处理
  • 解码服务:负载均衡,横向扩展
  • 缓存策略:频繁请求的二维码可缓存

性能指标(参考):

  • 单机qrcode生成:2000-5000个/秒
  • 单机pyzbar解码:100-300张/秒
  • 内存占用:每百万二维码约200-500MB

安全性考量

生成侧

  • 避免生成恶意链接(需要内容审查)
  • 限制生成频率(防止资源耗尽)
  • 添加数字签名(防篡改)

解码侧

  • URL安全检查(防止钓鱼)
  • 数据长度限制(防止缓冲区溢出)
  • 图像格式验证(防止恶意图片)

监控与可观测性

关键指标监控:

  • 生成成功率
  • 解码成功率
  • 平均处理延迟
  • 错误分布统计

日志记录:

  • 请求来源IP
  • 处理时间
  • 错误类型
  • 二维码内容摘要(脱敏)

技术演进方向

  1. AI增强识别:深度学习提升复杂场景识别率
  2. 彩色二维码:每个彩色模块存储更多信息
  3. 动态加密:结合区块链技术实现防伪追溯
  4. WebAssembly:二维码库可直接在浏览器运行

后记

Python二维码库生态已经相当成熟,从生成到解码,从简单到复杂,都能找到合适的工具。选择的关键在于:

  • 生成需求:首选qrcode,特殊需求考虑segno或MyQR
  • 解码需求:首选pyzbar,复杂场景配合opencv
  • 性能要求:根据QPS选择架构和优化策略
  • 部署环境:考虑依赖、内存、CPU等限制

希望这份选型指南能帮助你在项目中做出正确的技术选择。无论选择哪个库,理解其原理和适用场景,才能发挥最大价值。


作者简介:码上工坊,探索用编程为己赋能,定期分享编程知识和项目实战经验。持续学习、适应变化、记录点滴、复盘反思、成长进步。

重要提示:本文主要是记录自己的学习与实践过程,所提内容或者观点仅代表个人意见,只是我以为的,不代表完全正确,欢迎交流讨论。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-02-28 16:10:21 HTTP/2.0 GET : https://f.mffb.com.cn/a/475794.html
  2. 运行时间 : 0.277499s [ 吞吐率:3.60req/s ] 内存消耗:4,549.44kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=1cc08b6e53c62c93a3f8071a8c48b145
  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.000470s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000589s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000354s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000251s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000575s ]
  6. SELECT * FROM `set` [ RunTime:0.000225s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000509s ]
  8. SELECT * FROM `article` WHERE `id` = 475794 LIMIT 1 [ RunTime:0.012288s ]
  9. UPDATE `article` SET `lasttime` = 1772266221 WHERE `id` = 475794 [ RunTime:0.043978s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.012837s ]
  11. SELECT * FROM `article` WHERE `id` < 475794 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001410s ]
  12. SELECT * FROM `article` WHERE `id` > 475794 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.012567s ]
  13. SELECT * FROM `article` WHERE `id` < 475794 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.006746s ]
  14. SELECT * FROM `article` WHERE `id` < 475794 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.051128s ]
  15. SELECT * FROM `article` WHERE `id` < 475794 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.037103s ]
0.279151s