乐于分享
好东西不私藏

AI 生成代码上线前,必须过的 5 道验证关

AI 生成代码上线前,必须过的 5 道验证关

这篇文章解决什么问题

很多开发者用 AI 编码助手写代码很快,但上线前往往只做了「跑通测试」这一步。这篇教程给出一套最小可执行的 5 道验证关,帮你在提交 PR 前把 AI 代码里常见的隐患挡在门外。

  • • 适合谁看:日常用 Cursor、Copililot、Claude Code 等 AI 编码工具的开发者
  • • 看完能做到什么:建立一套可复用的提交前自检流程,不靠运气,靠清单

背景

AI 编码助手现在能生成看起来很正确的代码,但常见问题包括:

  • • 看起来跑通了,边界条件没覆盖
  • • 引入了项目里没有的依赖或不兼容的 API
  • • 安全问题(SQL 注入、路径遍历、硬编码密钥)
  • • 风格不统一、命名不规范、缺乏必要注释
  • • 生成了「幻觉」代码:调用不存在的函数、错误的参数顺序

这 5 道关不是要你全人工审,而是把最容易出问题、后果最重的项固化成清单,配合工具自动化,几分钟跑完,心情踏实再提交。


前提条件

  • • 已在项目里配置基础工具链:eslint / ruff / golangci-lint 等(按语言)
  • • CI 里跑单测 + 类型检查(TypeScript 用 tsc --noEmit,Python 用 mypy,Go 用 go vet
  • • 有基础的安全扫描工具:semgrepbanditgosecnpm audit / pip-audit / govulncheck
  • • Git hooks 工具:lefthookpre-commit(可选,用于本地拦截)

第一关:静态检查与类型检查 —— 拦住语法与类型错误

做什么:跑项目配置的 linter + 类型检查器。

为什么:AI 最容易犯的低级错是类型不匹配、未使用变量、导入路径错、弃用 API。这些全是静态工具能秒查出来的。

命令示例

# TypeScript / JavaScript
npm run lint          # eslint
npx tsc --noEmit      # 类型检查

# Python

ruff check .
mypy .

# Go

golangci-lint run
go vet ./...

预期结果:零报错、零警告(或仅剩已知可接受的 legacy 警告)。

出错先查什么

  • • 报错文件是否为 AI 新增/修改的文件
  • • 错误类型是否为类型不匹配、未定义符号、弃用 API
  • • 如果是第三方库类型缺失,补 @types/xxxtypes-xxx,别直接 any

第二关:单测覆盖率与核心路径跑通 —— 拦住逻辑漏洞

做什么:跑全量测试,重点看新增/修改代码的覆盖率

为什么:AI 生成的代码往往「主流程跑通」,边界条件、异常分支、空值处理全靠运气。覆盖率能量化暴露这些盲区。

命令示例

# JavaScript / TypeScript (jest/vitest)
npm test -- --coverage --collectCoverageFrom='src/**/*.ts'

# Python (pytest)

pytest --cov=your_package --cov-report=term-missing

# Go

go test -coverprofile=coverage.out ./...
go tool cover -func=coverage.out | grep -E '(new_file|modified_file)'

预期结果

  • • 全量测试通过
  • 新增/修改文件的行覆盖率 ≥ 80%(核心业务逻辑建议 ≥ 90%)
  • • 关键分支(错误处理、空值、边界值)有对应测试用例

出错先查什么

  • • 哪个函数/分支没覆盖到 → 补测试,或确认该分支真不可达
  • • 测试失败是否为 AI 生成的测试代码本身有问题(常见:mock 不全、断言写反)

第三关:安全扫描 —— 拦住显性安全隐患

做什么:跑语言对应的安全扫描器,专门查 AI 易引入的问题。

为什么:AI 训练数据里有大量不安全代码片段,容易生成:拼接 SQL、直接用用户输入拼路径、硬编码密钥、用弱随机数、未校验重定向目标。

命令示例

# 通用(多语言)
semgrep scan --config=auto .

# Python

bandit -r .

# Go

gosec ./...

# 依赖漏洞

npm audit          # Node.js
pip-audit          # Python
govulncheck ./...  # Go

预期结果

  • • 无 High/Critical 级别漏洞
  • • Medium 级别漏洞需人工评估:是否为误报、是否可通过升级依赖修复、是否需加防护代码
  • • 依赖漏洞:无未修复的 Critical/High CVE

出错先查什么

  • • 报警代码是否为 AI 新增
  • • 是否为误报(如:参数化查询被误判为拼接 SQL)
  • • 依赖漏洞能否直接升级修复,还是需加缓解措施

第四关:代码风格与规范一致性 —— 拦住「看起来不像团队写的」代码

做什么:跑格式化工具检查,对比团队约定的命名、注释、结构规范。

为什么:AI 生成的代码风格常与项目既有代码不一致:命名风格混用、注释缺失或过度、错误处理模式不统一。这会增加后续维护认知负荷。

命令示例

# 格式化检查(不修改,只报差异)
prettier --check .          # JS/TS/JSON/MD
black --check .             # Python
gofmt -l .                  # Go

# 命名/结构规范(需团队自定义规则)

# 例如:eslint-plugin-import-order、pylint-naming、golint 自定义规则

预期结果

  • • 格式化检查通过(或仅有极少量可自动修复的差异)
  • • 关键函数/类有必要的文档注释(公共 API 必须有)
  • • 错误处理模式与项目既有代码一致(如:统一用 Result 类型、统一 try/catch 位置)

出错先查什么

  • • 直接跑 prettier --write / black / gofmt -w 自动修复格式问题
  • • 命名不规范手动改,顺便确认语义是否清晰
  • • 缺注释的公共接口补上:做什么、参数含义、返回值、副作用

第五关:依赖与构建产物检查 —— 拦住「本地跑通,CI 挂了」的坑

做什么:确认 lockfile 变更合理、构建产物无异常、无多余文件提交。

为什么:AI 容易随手加依赖、改包版本、甚至生成不需要的文件(调试脚本、临时文件、巨大二进制)。这些上 CI 才发现,浪费时间。

命令示例

# 检查 lockfile 变更
git diff package-lock.json      # npm
git diff uv.lock / poetry.lock  # Python (uv/poetry)
git diff go.sum                 # Go

# 构建验证

npm run build                   # 前端
python -m build                 # Python 包
go build ./...                  # Go

# 检查暂存区有无异常文件

git status --porcelain | grep -E '^\?\?'  # 未跟踪文件
git diff --cached --name-only | xargs file | grep -v text  # 二进制文件

预期结果

  • lockfile 变更仅包含必要的新增/升级依赖,无无关版本抖动
  • • 构建成功,产物体积无异常膨胀
  • • 暂存区无调试脚本、.DS_Store、巨大二进制、本地配置文件

出错先查什么

  • • 多余依赖:确认是否真需要,不需要则 revert
  • • 版本抖动:锁定到兼容版本,避免 ^ / ~ 导致 CI 不稳定
  • • 异常文件:git reset HEAD <file> 移出暂存区,加入 .gitignore

常见问题

Q1:这 5 关跑下来要多久?会不会太慢?

A:配合缓存和增量检查,典型中型项目 2-5 分钟。建议接入 lefthookpre-commit 做本地预检,只在提交时跑轻量版(lint + 类型检查 + 单测),推送到 CI 再跑全量版(含安全扫描、构建验证)。

Q2:AI 生成的测试代码自己也可能有 bug,怎么办?

A:把「测试代码也要过 lint 和类型检查」加入第一关。核心逻辑测试建议人工复核断言逻辑,边界条件测试让 AI 生成后人工补全。

Q3:安全扫描误报太多,每次都要人工看不现实。

A:建立团队级 semgrep 规则集 / bandit 基线文件,把已确认的误报加入忽略列表。新代码只看新增的报警,存量不处理。

Q4:覆盖率达标但核心逻辑还是有 bug?

A:覆盖率是必要不充分条件。关键业务逻辑必须补充变异测试(如 stryker / mutmut / go-mutesting)或关键路径人工 Review。这 5 关是「最小可执行」,不是「唯一」。

Q5:项目没配这些工具,从零搭太麻烦?

A:从「 lint + 类型检查 + 单测」三件套起步,半天能跑通。安全扫描和变异测试后续补上。哪怕只有前三关,也能拦住 80% 以上的 AI 代码低级问题。


总结

这 5 道关的核心思想:把「靠经验、靠运气、靠仔细看」变成「靠工具、靠清单、靠自动化」

       
                                           
关卡核心工具拦住什么建议执行时机
1. 静态+类型eslint/ruff/golangci-lint + tsc/mypy/go vet语法错、类型错、弃用 API本地 pre-commit / CI
2. 测试+覆盖率jest/pytest/go test + coverage逻辑漏洞、边界未测本地 pre-push / CI
3. 安全扫描semgrep/bandit/gosec + audit注入、遍历、硬编码、CVECI(每夜/每推送)
4. 风格规范prettier/black/gofmt + 自定义规则命名混乱、注释缺失、模式不统一本地 pre-commit / CI
5. 依赖构建lockfile diff + build 验证多余依赖、版本抖动、异常文件本地 pre-push / CI
       
     

下一步能做什么

  • • 把这 5 关写成项目的 CONTRIBUTING.mdAI_CODING_CHECKLIST.md
  • • 接入 lefthook 自动化本地拦截
  • • 在 CI 里把安全扫描和覆盖率设为合并门禁
  • • 团队内做一次 15 分钟分享,统一执行标准

这篇教程属于「工具实战 / 上手教程」栏目。下一期预告:如何让 AI 编码助手生成的测试代码也靠谱——一套测试代码自检清单。

                 
基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-06-05 20:05:28 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/714166.html
  2. 运行时间 : 0.196267s [ 吞吐率:5.10req/s ] 内存消耗:4,845.77kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=cdba13ac3786f37dffe453b91ed2ee81
  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.000951s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001377s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000717s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000691s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001406s ]
  6. SELECT * FROM `set` [ RunTime:0.000611s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001499s ]
  8. SELECT * FROM `article` WHERE `id` = 714166 LIMIT 1 [ RunTime:0.001026s ]
  9. UPDATE `article` SET `lasttime` = 1780661129 WHERE `id` = 714166 [ RunTime:0.001819s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000611s ]
  11. SELECT * FROM `article` WHERE `id` < 714166 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000977s ]
  12. SELECT * FROM `article` WHERE `id` > 714166 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001111s ]
  13. SELECT * FROM `article` WHERE `id` < 714166 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.001746s ]
  14. SELECT * FROM `article` WHERE `id` < 714166 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.001753s ]
  15. SELECT * FROM `article` WHERE `id` < 714166 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.002253s ]
0.200464s