乐于分享
好东西不私藏

【从0开始学AI】存量产品AI Coding自动化测试实战指南——无Yaml、无文档,如何从零构建自动化测试体系

【从0开始学AI】存量产品AI Coding自动化测试实战指南——无Yaml、无文档,如何从零构建自动化测试体系


背景:存量产品的测试困境

"这个系统没有接口文档,没有Yaml配置,连产品经理都换了两轮——测试怎么做?"

这是笔者在实际项目中遇到的真实场景。随着AI Coding工具(如Cursor、GitHub Copilot)的普及,存量产品(Legacy Product)的自动化测试成了一个新难题:没有标准化的接口定义文档、没有产品需求文档(PRD)、甚至连代码注释都残缺不全。

本文将介绍一套"逆向驱动 + AI协同"的测试方法论,帮助测试团队在没有Yaml、没有文档的情况下,高效完成自动化测试体系建设。


一、核心方法论:三层逆向分析法

1.1 为什么叫"逆向"?

传统自动化测试依赖 正向流程

需求文档 → 接口定义(YAML/Swagger) → 测试用例 → 自动化脚本

存量产品的困境是上游缺失,所以我们采用逆向追溯

代码/数据库 → 接口行为 → 测试用例 → 自动化脚本

1.2 三层逆向分析模型


二、第一层:代码层逆向——从代码中挖出测试点

2.1 工具链推荐

工具

用途

AI辅助功能

ASTExplorer

抽象语法树分析

可结合AI识别代码模式

SonarQube

代码质量扫描

自动标记业务逻辑函数

grep/ripgrep

日志/函数搜索

正则匹配批量提取

pSQL

数据库Schema逆向

自动生成ER图

2.2 实战案例:从订单模块提取测试点

步骤1:定位核心业务代码

# 搜索订单相关核心函数grep -rn "createOrder\|submitOrder\|payOrder" --include="*.py" ./src/

输出示例:

src/services/order_service.py:45:def create_order(request_data)src/controllers/order_controller.py:78:def submit_order()src/models/order.py:23:class Order(models.Model)

步骤2:AI辅助解读函数行为

提示词模板(用于AI Coding工具):
请分析以下Python函数,输出:1. 函数功能描述2. 输入参数及类型3. 返回值及类型4. 可能的异常场景5. 依赖的数据库表函数代码:[粘贴代码]

步骤3:从Model逆向生成测试数据模板

# 从Model定义逆向推导测试数据classOrder(models.Model):    order_id = models.CharField(max_length=32primary_key=True)    user_id = models.CharField(max_length=32)    amount = models.DecimalField(max_digits=10decimal_places=2)    status = models.CharField(max_length=16)    create_time = models.DateTimeField()# 推导测试数据:test_order = {    "order_id""ORD20260521001",  # 32字符上限    "user_id""USR00001",    "amount""100.00",           # 最大10位,小数2位    "status""pending",          # 常见状态值    "create_time""2026-05-21 10:00:00"}

2.3 代码层逆向输出模板

## 代码层逆向分析报告### 模块名称:订单模块### 分析日期:2026-05-21| 类/函数 | 业务含义 | 输入参数 | 输出 | 异常场景 ||---------|---------|---------|------|---------|| Order.create() | 创建订单 | user_id, items[], amount | order_id | 库存不足、用户不存在 || Order.pay() | 支付订单 | payment_method, amount | True/False | 余额不足、支付超时 || Order.cancel() | 取消订单 | reason | True/False | 订单已发货无法取消 |### 关键发现1. order_id格式:ORD + YYYYMMDD + 6位序号2. amount最大10位,小数点后2位3. status流转:pending → paid → shipped → completed

三、第二层:接口层逆向——从流量中还原API

3.1 流量捕获工具

┌──────────────────────────────────────────────────┐│                  流量捕获矩阵                      │├──────────┬───────────┬───────────┬──────────────┤│  环境     │   工具    │   捕获范围  │   适用场景   │├──────────┼───────────┼───────────┼──────────────┤│  测试环境 │ Charles  │ 全量HTTP   │ 完整API还原   ││  测试环境 │ Fiddler   │ 全量HTTP   │ 同上          ││  生产环境 │ MITMProxy │ 全量HTTPS │ 无法直接抓包时 ││  前端代码 │ DevTools  │ XHR/Fetch │ 快速定位接口  │└──────────┴───────────┴───────────┴──────────────┘

3.2 实战:用Charles逆向解析接口

Step 1:配置Charles代理

  1. 设置代理端口:8888
  2. 启用SSL代理:Proxy → SSL Proxying Settings → Enable
  3. 添加目标域名:*.api.example.com

Step 2:用户操作,捕获完整业务流程

引导用户或自己操作核心业务功能(如:下单流程),Charles会自动记录所有HTTP请求。

Step 3:导出为接口文档

# Charles导出为JSON格式File → Export Session → JSON格式# 输出结构[  {    "method""POST",    "path""/api/v1/order/create",    "host""api.example.com",    "headers": {...},    "body": {...},    "response": {...}  }]

3.3 接口逆向分析模板

## 接口逆向分析报告### 接口簇:订单相关| # | 方法 | 路径 | 功能 | 请求体关键字段 | 响应关键字段 ||---|------|------|-----|---------------|-------------|| 1 | POST | /api/v1/order/create | 创建订单 | user_id, items[], address_id, coupon_id | order_id, total_amount || 2 | POST | /api/v1/order/pay | 支付订单 | order_id, payment_method | pay_status, transaction_id || 3 | GET | /api/v1/order/list | 订单列表 | user_id, page, page_size | orders[], total_count |### 请求体结构推导```json// POST /api/v1/order/create 请求体{  "user_id""USR00001",        // string, 用户ID  "items": [                    // array, 商品列表    {      "product_id""PRD001",   // 商品ID      "quantity"2,             // int, 数量      "price"99.00            // decimal, 单价    }  ],  "address_id""ADDR001",      // string, 地址ID  "coupon_id": null             // string|null, 优惠券ID}// 响应{  "code"0,  "message""success",  "data": {    "order_id""ORD20260521001",    "total_amount"198.00,    "status""pending"  }}

四、第三层:业务层逆向——从日志中还原用户路径

4.1 日志分析的方法

工具选择:

日志类型

分析工具

关键字段

访问日志

ELK Stack

client_ip, path, status, response_time

业务日志

Loki + Grafana

user_id, action, biz_id, timestamp

错误日志

Sentry

exception_type, message, stack_trace

日志分析提示词模板:

分析以下业务日志,识别:1. 核心业务流程(按时间顺序排列用户行为)2. 关键决策点(分支条件判断)3. 异常处理路径(错误重试、补偿机制)4. 测试场景优先级排序日志内容:[粘贴日志片段]

4.2 用户行为轨迹还原

原始日志片段:2026-05-21 10:00:01 INFO [order_service] user=USR001 action=VIEW_PRODUCT prod_id=PRD0012026-05-21 10:00:15 INFO [order_service] user=USR001 action=ADD_CART prod_id=PRD001 qty=22026-05-21 10:00:30 INFO [order_service] user=USR001 action=VIEW_CART items_count=22026-05-21 10:01:00 INFO [order_service] user=USR001 action=CHECKOUT address_id=ADDR0012026-05-21 10:01:30 INFO [order_service] user=USR001 action=PAYMENT_START order_id=ORD0012026-05-21 10:01:35 ERROR [payment_service] user=USR001 order_id=ORD001 error=INSUFFICIENT_BALANCE2026-05-21 10:01:40 INFO [payment_service] user=USR001 action=PAYMENT_RETRY order_id=ORD0012026-05-21 10:01:45 INFO [payment_service] user=USR001 action=PAYMENT_SUCCESS order_id=ORD001还原业务流程:┌─────────┐    ┌─────────┐    ┌─────────┐    ┌─────────┐    ┌─────────┐│ 浏览商品 │ → │ 加入购物车│ → │  结算   │ → │ 支付开始 │ → │ 支付成功 │└─────────┘    └─────────┘    └─────────┘    └─────────┘    └─────────┘                                           ↓                                    余额不足(异常)                                           ↓                                      重试成功测试场景:1. 正常流程:浏览→加购→结算→支付成功2. 异常分支:余额不足→重试→成功3. 异常分支:余额不足→重试→仍失败→提示用户

4.3 业务流程图绘制方法

使用Mermaid语法快速绘制流程图:

graph TD    A[用户登录] --> B{是否VIP}    B -->|是| C[享受折扣]    B -->|否| D[标准价格]    C --> E[下单]    D --> E    E --> F{支付方式}    F -->|信用卡| G[扣款成功]    F -->|微信| H[扫码等待]    H --> I{支付结果}    I -->|成功| J[生成订单]    I -->|超时| K[订单取消]

五、AI Coding辅助测试用例设计

5.1 AI辅助测试用例生成流程

┌─────────────┐    ┌─────────────┐    ┌─────────────┐    ┌─────────────┐│  代码分析    │ →  │  接口还原    │ →  │  日志解析   │ →  │ AI生成用例  ││  (第一层)   │    │  (第二层)   │    │  (第三层)   │    │             │└─────────────┘    └─────────────┘    └─────────────┘    └─────────────┘      ↓                  ↓                  ↓                  ↓  识别类/函数        还原API结构         还原用户路径       输出标准化用例

5.2 AI生成测试用例的提示词模板

# 测试用例AI生成提示词## 输入信息- 业务背景:[系统功能描述]- 代码分析结果:[第一层输出]- 接口文档:[第二层输出]- 用户行为轨迹:[第三层输出]## 要求请生成测试用例,包含:1. 等价类划分(有效等价类、无效等价类)2. 边界值分析(最大值、最小值、临界值)3. 场景法用例(主流程、分支流程、异常流程)4. 异常测试用例(错误处理、超时、并发)## 输出格式| 用例ID | 用例标题 | 优先级 | 前置条件 | 测试步骤 | 预期结果 ||--------|---------|-------|---------|---------|---------|| TC001 | 正常创建订单 | P0 | 用户已登录,购物车有商品 | 1. 进入结算页... | 订单创建成功 |

5.3 实战示例:订单模块测试用例生成

AI输入:

业务背景:电商订单系统,包含创建订单、支付订单、取消订单功能接口信息:- POST /api/v1/order/create {user_id, items[], address_id, coupon_id}- POST /api/v1/order/pay {order_id, payment_method}- POST /api/v1/order/cancel {order_id, reason}代码分析:- amount字段:Decimal(10,2),最大99999999.99- status流转:pending→paid→shipped→completed/cancelled- 异常码:INSUFFICIENT_STOCK, INSUFFICIENT_BALANCE, ORDER_NOT_FOUND

AI输出:

## 订单模块测试用例### P0级用例(核心路径)| 用例ID | 用例标题 | 前置条件 | 测试步骤 | 预期结果 ||--------|---------|---------|---------|---------|| TC_ORDER_001 | 正常创建订单-使用优惠券 | 用户已登录,购物车有2件商品 | 1. 选择收货地址<br>2. 选择优惠券C01<br>3. 点击提交订单 | 订单创建成功,金额=原价-优惠金额 || TC_ORDER_002 | 正常创建订单-不使用优惠券 | 用户已登录,购物车有1件商品 | 1. 选择收货地址<br>2. 不选择优惠券<br>3. 点击提交订单 | 订单创建成功,金额=原价 || TC_ORDER_003 | 支付订单-余额充足 | 订单状态=pending | 1. 选择支付方式=余额<br>2. 点击确认支付 | 支付成功,订单状态变为paid || TC_ORDER_004 | 支付订单-余额不足 | 订单状态=pending,用户余额=50 | 1. 选择支付方式=余额<br>2. 点击确认支付 | 支付失败,提示余额不足 || TC_ORDER_005 | 取消订单-未付款 | 订单状态=pending | 1. 点击取消订单<br>2. 选择原因"不想买了"<br>3. 确认取消 | 订单取消成功,状态变为cancelled |### P1级用例(分支路径)| 用例ID | 用例标题 | 测试要点 ||--------|---------|---------|| TC_ORDER_006 | 创建订单-商品库存不足 | 验证库存不足时的错误提示 || TC_ORDER_007 | 创建订单-地址信息不完整 | 验证地址必填校验 || TC_ORDER_008 | 创建订单-优惠券已过期 | 验证过期优惠券不可用 || TC_ORDER_009 | 支付订单-支付超时 | 验证超时后订单状态回滚 || TC_ORDER_010 | 取消订单-已发货状态 | 验证已发货订单不可取消 |### P2级用例(异常场景)| 用例ID | 用例标题 | 测试要点 ||--------|---------|---------|| TC_ORDER_011 | 并发创建订单-同一商品 | 验证库存超卖问题 || TC_ORDER_012 | 重复支付-同一订单 | 验证幂等性保护 || TC_ORDER_013 | 金额边界-最大值 | 验证amount=99999999.99可正常处理 || TC_ORDER_014 | 金额边界-超限 | 验证amount>99999999.99被拒绝 |

六、自动化测试框架选型与落地

6.1 框架选型矩阵

┌────────────────────────────────────────────────────────────┐                    测试框架选型指南                          ├──────────────┬────────────┬────────────┬─────────────────┤   场景         推荐框架      适用语言     关键优势        ├──────────────┼────────────┼────────────┼─────────────────┤ 接口自动化     pytest      Python     丰富插件生态好    接口自动化     Newman      Node.js    Postman集成佳     UI自动化       Playwright  多语言     AI辅助定位强       UI自动化       Cypress     JavaScript 文档完善API简单  性能测试       k6          Go/JavaScript| 轻量门槛低     移动端测试     Appium      多语言     跨平台支持        └──────────────┴────────────┴────────────┴─────────────────┘

6.2 存量产品推荐:pytest + Allure

理由:

  1. Python生态成熟:与AI Coding工具集成最佳(如Cursor、Copilot均支持Python)
  2. 参数化测试强:@pytest.mark.parametrize轻松实现数据驱动
  3. 报告可视化:Allure生成美观的HTML报告
  4. 学习曲线平缓:测试人员无需太多编程背景

6.3 快速上手模板

# conftest.py - 测试配置import pytestimport requestsBASE_URL = "https://api.test.example.com"@pytest.fixturedef auth_token():    """获取登录Token"""    response = requests.post(f"{BASE_URL}/api/v1/login", json={        "username""test_user",        "password""test_pass"    })    return response.json()["data"]["token"]# test_order.py - 订单模块测试import pytestclass TestOrder:    """订单模块测试套件"""    @pytest.mark.parametrize("coupon_id,expected_discount", [        (None0),           # 无优惠券        ("COUPON10"10),   # 10元优惠        ("COUPON20"20),   # 20元优惠    ])    def test_create_order_with_coupon(self, auth_token, coupon_id, expected_discount):        """测试不同优惠券场景"""        # 测试步骤        pass    def test_pay_order_insufficient_balance(self, auth_token):        """测试余额不足支付失败"""        # 测试步骤        pass

七、实战案例:2周完成存量系统自动化测试覆盖

7.1 项目背景

  • 系统:某电商后台系统(10年历史,代码量50万行)
  • 痛点:无接口文档、无Yaml、无产品文档
  • 目标:2周内完成核心业务链路自动化测试

7.2 实施路线图

Week 1 Day 1-2:代码层逆向├── 定位核心模块(订单、支付、用户)├── AST解析识别业务函数└── 输出:模块分析报告.mdWeek 1 Day 3-4:接口层逆向├── Charles抓包还原API├── 导出JSON格式接口定义└── 输出:接口文档.jsonWeek 1 Day 5:日志层逆向├── ELK分析用户行为路径├── 还原核心业务流程└── 输出:用户轨迹图.mdWeek 2 Day 1-2:测试用例设计├── AI辅助生成用例├── 用例评审与筛选└── 输出:测试用例.xlsxWeek 2 Day 3-4:自动化脚本开发├── pytest框架搭建├── PageObject模式封装└── 输出:test_suite.pyWeek 2 Day 5:测试执行与报告├── 执行全套测试├── Allure报告生成└── 输出:测试报告.html

7.3 关键成果

指标

数值

还原API数量

127个

生成测试用例

386条

自动化覆盖率

78%

发现遗留Bug

23个

执行时间

45分钟(vs 人工4小时)

7.4 经验总结

  1. "三还原"原则:代码还原、接口还原、日志还原,缺一不可
  2. AI辅助关键点:提示词质量决定输出质量,模板化提示词效率最高
  3. 优先覆盖核心链路:P0用例优先,2周内先跑通主流程
  4. 文档即资产:输出的逆向文档可供后续维护,真正解决"知识流失"问题

八、AI驱动工具链——用Skills替代传统工具

在传统测试流程中,我们需要 Charles/Fiddler 抓包、SonarQube 扫描、ELK 分析日志——工具繁多、学习成本高。而在 AI Coding 时代,我们可以用一套 "AI + Skill" 方案替代上述全部工具,实现 一个窗口完成所有逆向分析

8.1 工具替代矩阵

┌─────────────────────────────────────────────────────────────────────────┐│                        AI Skill 工具链替代方案                           │├─────────────────┬──────────────────────┬─────────────────────────────────┤│    传统工具      │      替代Skill       │         核心能力                │├─────────────────┼──────────────────────┼─────────────────────────────────┤│ Charles/Fiddler │ agent-browser        │ 网页自动化、流量捕获、接口还原    ││ SonarQube       │ claude-code-guide    │ 代码分析、业务逻辑识别           ││ ELK/Loki        │ software-testing    │ 日志解析、业务流程建模           ││ Sourcetrail     │ claude-code-guide    │ 代码可视化追踪、依赖分析         ││ Postman         │ api-test-generator   │ API测试用例生成、接口验证        │└─────────────────┴──────────────────────┴─────────────────────────────────┘

8.2 核心Skill详解

Skill 1:agent-browser —— 替代Charles/Fiddler/Postman

能力: 网页自动化 + 流量捕获 + 接口逆向

触发场景:

  • 用户说"抓包"、"分析网页"、"还原接口"时使用
  • 需要访问网站、截图、分析页面结构时使用

使用示例:

# 场景:用 agent-browser 逆向分析电商订单接口# Step 1:打开目标页面agent-browser open https://shop.example.com/order/create# Step 2:执行用户操作(加购物车、结算)# ... 用户操作 ...# Step 3:捕获网络请求agent-browser network requests --type xhr,fetch# Step 4:导出接口JSONagent-browser network har start# ... 用户操作 ...agent-browser network har stop ./orders_api.har# 输出:完整的订单相关API定义

agent-browser 核心命令速查:

命令

用途

agent-browser open <url>

打开网页

agent-browser snapshot -i

获取页面元素快照

agent-browser screenshot

截图

agent-browser network requests

查看网络请求

agent-browser network har start/stop

录制HAR文件

agent-browser chat "分析这个页面的API结构"

AI自然语言控制


Skill 2:claude-code-guide —— 替代SonarQube/Sourcetrail

能力: 代码结构分析 + 业务逻辑识别 + 代码可视化追踪

触发场景:

  • 用户说"分析代码"、"理解业务逻辑"、"追踪代码调用链"时使用
  • 需要理解某个函数的作用、识别业务逻辑时使用

使用示例:

# 场景:用 claude-code-guide 分析订单模块业务逻辑# 输入:订单服务核心代码# 输出:# - 函数功能描述# - 输入输出参数类型# - 业务异常场景# - 调用依赖关系图claude-code-guide> 请分析以下Python代码的业务逻辑,输出:> 1. 函数功能描述> 2. 输入输出参数> 3. 业务异常场景> 4. 调用依赖关系>> 代码:> [粘贴代码]

核心能力:

  • 代码模式识别(识别CRUD、事务处理、权限校验等模式)
  • 业务逻辑提炼(从代码中还原业务规则)
  • 调用链追踪(追踪函数调用关系,还原业务链路)

Skill 3:software-testing —— 替代ELK/Loki

能力: 日志解析 + 用户行为轨迹还原 + 业务流程建模

触发场景:

  • 用户说"分析日志"、"还原用户路径"、"建模业务流程"时使用
  • 需要从日志中提取业务信息时使用

使用示例:

# 场景:用 software-testing 分析用户行为日志# 输入:原始日志片段2026-05-21 10:00:01 INFO [order_service] user=USR001 action=VIEW_PRODUCT2026-05-21 10:00:15 INFO [order_service] user=USR001 action=ADD_CART2026-05-21 10:01:30 INFO [order_service] user=USR001 action=CHECKOUT# AI分析输出:# - 用户行为轨迹图# - 核心业务路径# - 异常分支识别# - 测试场景优先级

核心能力:

  • 日志结构化解析
  • 用户行为序列识别
  • 业务流程状态机建模
  • 测试场景自动生成

Skill 4:api-test-generator —— 替代Postman

能力: API测试用例生成 + 接口验证 + 测试数据准备

触发场景:

  • 用户说"生成API测试"、"验证接口"、"创建测试用例"时使用
  • 需要基于已有信息生成可执行测试用例时使用

使用示例:

# 场景:用 api-test-generator 生成订单API测试用例# 输入:# - 接口路径:POST /api/v1/order/create# - 请求参数:user_id, items[], address_id, coupon_id# - 响应结构:order_id, total_amount, status# AI输出:# - 完整测试用例(Excel格式)# - 参数边界值测试数据# - 异常场景覆盖# - pytest兼容脚本

核心能力:

  • 接口定义 → 测试用例自动转换
  • 等价类划分 + 边界值分析自动应用
  • 测试数据自动生成
  • 支持导出为Excel/JSON/pytest格式

8.3 AI Skill协同工作流

┌──────────────────────────────────────────────────────────────────┐│                  AI Skill 逆向分析完整流程                         │└──────────────────────────────────────────────────────────────────┘Step 1:代码分析 (claude-code-guide)    ↓    输入:项目代码目录    输出:业务模块清单 + 函数关系图Step 2:接口还原 (agent-browser)    ↓    输入:用户操作行为    输出:API定义文档(JSON/HAR)Step 3:日志解析 (software-testing)    ↓    输入:系统日志    输出:用户行为轨迹 + 业务流程图Step 4:测试用例生成 (api-test-generator)    ↓    输入:前三步输出    输出:标准化测试用例.xlsx┌──────────────────────────────────────────────────────────────────┐│                     一条命令启动全流程                              │└──────────────────────────────────────────────────────────────────┘# 启动AI协同分析agent-browser chat "请分析这个电商系统的逆向测试能力,按以下步骤:1. 用claude-code-guide分析代码结构2. 用agent-browser抓取核心API3. 用software-testing解析用户日志4. 用api-test-generator生成测试用例"# AI自动按顺序执行,并输出完整报告

8.4 AI Skill调用速查表

需求

调用Skill

触发指令

网页抓包/接口还原

agent-browser

Skill: agent-browser

代码分析/业务逻辑识别

claude-code-guide

Skill: claude-code-guide

日志分析/流程建模

software-testing

Skill: software-testing

测试用例生成

api-test-generator

Skill: api-test-generator

API文档生成

api-doc-generator

Skill: api-doc-generator

测试报告生成

api-test-report

Skill: api-test-report

8.5 提示词模板库

模板1:代码功能分析

请分析以下[编程语言]代码,输出:1. 函数功能描述(用中文)2. 输入参数及类型3. 返回值及类型4. 可能的异常场景(至少3个)5. 依赖的数据库表或外部服务代码:[粘贴代码]模板2:接口逆向(结合agent-browser)请根据以下HTTP请求/响应信息,还原完整的API定义:1. 请求方法、路径2. 请求头要求3. 请求体JSON结构(含字段说明)4. 响应体JSON结构(含字段说明)5. 常见错误码及含义请求:[粘贴请求信息]响应:[粘贴响应信息]模板3:测试用例生成基于以下业务信息,生成完整的测试用例:- 业务场景:[描述]- 接口定义:[API信息]- 代码分析结果:[代码层逆向输出]- 用户行为轨迹:[日志层逆向输出]要求:1. 包含正常场景(主流程)2. 包含异常场景(错误处理)3. 包含边界值测试4. 输出格式:Excel兼容的表格请生成至少20条测试用例,覆盖率≥95%。

结语:没有文档不是借口,是挑战

存量产品的自动化测试确实更难,但并非不可能。"三还原方法论"提供了一条清晰的路径:先从代码中挖出业务逻辑,再从流量中还原接口定义,最后从日志中还原用户路径。三层逆向分析辅以AI Coding工具,可以大幅提升效率。

更重要的是,这个过程本身就是一种知识沉淀——你输出的逆向分析文档,将成为团队下一任接手时的"活文档",彻底告别"系统没人看得懂"的困境。


基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-05-22 13:10:13 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/656848.html
  2. 运行时间 : 0.093396s [ 吞吐率:10.71req/s ] 内存消耗:4,874.09kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=33590e043a4801cdd17f5e963fd330b2
  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.000522s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000818s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000288s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000255s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000492s ]
  6. SELECT * FROM `set` [ RunTime:0.000196s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000574s ]
  8. SELECT * FROM `article` WHERE `id` = 656848 LIMIT 1 [ RunTime:0.000563s ]
  9. UPDATE `article` SET `lasttime` = 1779426614 WHERE `id` = 656848 [ RunTime:0.000752s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000217s ]
  11. SELECT * FROM `article` WHERE `id` < 656848 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000420s ]
  12. SELECT * FROM `article` WHERE `id` > 656848 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000476s ]
  13. SELECT * FROM `article` WHERE `id` < 656848 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000910s ]
  14. SELECT * FROM `article` WHERE `id` < 656848 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.001139s ]
  15. SELECT * FROM `article` WHERE `id` < 656848 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.000689s ]
0.095083s