乐于分享
好东西不私藏

AI 都能帮你重写项目了,但老代码里的坑它真不一定认识

AI 都能帮你重写项目了,但老代码里的坑它真不一定认识

每个程序员心里,大概都藏着一个“重写按钮”。

尤其是接手老项目的时候,这个按钮会亮得特别刺眼:代码风格乱成一锅粥,文档几年没人碰,接口像补丁叠补丁。你问一句“这个功能当初为什么这么写”,旁边的人沉默三秒,然后说:

写它的人,已经离职很久了。

这时候,很难不动心。

以前大家多半还会忍一忍。不是不想重写,是因为重写太贵、太慢,也太容易翻车。

但到了 AI 时代,事情看起来突然不一样了。

你把旧代码贴给 AI,让它解释;把需求讲一遍,让它搭新版架构;让它补测试、改框架、迁移语言栈。几个小时,或者几天,一个“看起来更现代”的新项目就能跑起来。

问题也恰恰在这里。

AI 不是让重写没有成本,而是让你更晚才看到真正的成本。

于是那个老问题又回来了:既然 AI 写代码这么快,现在是不是终于到了重写项目的最佳时机?

要回答这个问题,得先回到软件工程史上一个经常被拿出来复盘的故事:Netscape。

Netscape 的教训,不只是“别重写”

1990 年代中期,Netscape Navigator 是早期互联网浏览器市场里最重要的产品之一。后来,微软 Internet Explorer 快速扩大影响,浏览器竞争越来越激烈。

1998 年前后,Netscape 开放浏览器源码,Mozilla 项目由此启动。之后,旧浏览器代码、Mozilla 项目和 Gecko 排版引擎又经历了多阶段演进。等 Netscape 6 在 2000 年发布时,市场局面已经和几年前完全不是一回事了。

这段历史后来被 Joel Spolsky 在 2000 年的《Things You Should Never Do, Part I》里当作经典反例来讲。在他的批评框架里,Netscape 放弃旧代码路线、转向新一代 Mozilla/Gecko,是软件公司可能犯下的严重战略错误之一。

这句话太有传播力了,所以后来常常被浓缩成四个字:不要重写。

但只记住这四个字,反而容易把历史读窄。

Netscape 的失势不是一个单因果故事。微软 IE 的竞争、Windows 捆绑、免费分发、商业策略、标准演进、组织变化,这些事都在同时发生。重写不是唯一原因。

真正值得记住的,是另一件更扎心的事:

当一个团队把核心精力压到下一代系统上,现实世界不会按下暂停键。

用户还在用旧版本,bug 还在冒,竞争对手还在迭代,市场窗口还在往前滑。新系统没有成熟之前,旧系统又越来越难继续演进。团队很容易掉进一种“双线消耗”:一边救火,一边盖新楼,两边都缺人,两边都着急。

这才是重写最危险的地方。

它不只是一个技术动作,更像一次机会成本巨大的暂停。

旧代码不只是负担,也是事故档案馆

Joel 的批评里,最重要的一点是:旧代码看起来很丑,但它不是一堆毫无价值的垃圾。

一段老代码里奇怪的 if,可能对应过某次线上事故。

一个不优雅的兼容分支,可能是为了照顾某个大客户的历史数据。

一个谁都不喜欢的接口格式,可能已经被十几个上下游系统默默依赖。

旧代码最烦人的地方在于,它记录历史的方式很不友好。它不会在旁边写一行注释说:“这段是 2017 年那次支付失败事故之后加的,别乱动。”它只会静静躺在那里,看起来像一块碍眼的补丁。

于是新人接手时,很容易产生一种冲动:

这都什么玩意儿,不如重新写一遍。

从零写出来的新代码,表面确实更干净。目录清爽,命名统一,架构图也好看。

但它还没被真实世界打过。

旧代码里有旧 bug,新代码里也会有新 bug。区别只是:旧 bug 你至少认识了一部分,新 bug 还在路上,甚至还没来得及露面。

所以,Netscape 的故事不是在说“旧代码神圣不可动”。它真正提醒我们的是:不要低估旧系统里那些看不见的经验。

AI 确实改变了一件事:写新代码变快了

当然,今天和 1998 年确实不一样。

AI 编程工具让“重写”的第一步,在很多场景下变得更容易启动。

它可以快速生成样板代码,把一个旧框架迁到新框架,解释陌生模块,补类型定义,写测试草稿,整理接口文档。需求边界清楚、代码规模可控的时候,一个过去要花几周搭起来的原型,现在可能几天就有雏形。

这不是小变化。

很多小工具、内部后台、低风险模块,确实因为 AI 变得更适合重新实现。尤其是那些边界清楚、依赖简单、失败可回滚的项目,AI 往往能明显降低原型和第一版实现的启动成本。

所以,我们也不能拿老经验简单否定新工具。

过去说“不要重写”,一个原因是重新实现成本太高;更关键的是,旧系统里的隐性知识、兼容关系和市场机会成本很难复制。现在,AI 至少把“写出第一版”这件事变便宜了。

但新的错觉也跟着来了:第一版出现得越快,人越容易以为整个系统已经被解决。

可软件项目最贵的部分,往往不是把代码敲出来。

而是弄清楚它为什么必须那样运行。

AI 能写代码,但不能替你付账

AI 让重写更容易启动,却没有自动消灭重写的风险。最后,团队至少还要面对这几笔账。

先是需求账。

老系统真正满足的需求,很多不在需求文档里,而是藏在用户习惯、业务流程和历史妥协里。AI 可以读代码,但它未必知道为什么某个按钮不能删,为什么某个报表必须保留一个看似多余的字段。

再是兼容账。

历史接口、老数据格式、第三方插件、边缘设备、异常订单,这些东西常常才是系统最麻烦的部分。AI 可以生成一个更漂亮的新接口,却不一定知道旧接口被多少地方偷偷调用。

还有测试账。

AI 可以帮你生成测试,但测试有没有覆盖真实业务,要由人判断。很多重写项目出问题,不是因为代码完全跑不起来,而是因为它在大量普通场景下都正常,偏偏在少数关键场景里掉链子。

迁移账也躲不过。

新系统不是写完就结束。数据怎么搬?用户怎么切?失败怎么回滚?新旧系统并行多久?日志、权限、报表、通知、缓存怎么处理?这些问题没解决,重写就只是一个漂亮的半成品。

最后,还有组织账。

重写期间,旧系统还修不修 bug?客户的新需求还接不接?团队是全员扑到新系统上,还是分成两拨人?如果延期,谁来承受业务压力?

这些账,AI 都可以帮忙算一部分,但不能替你承担。

说白了,AI 擅长补“看得见的代码”,不擅长自动恢复“看不见的历史”。

重构、重写、渐进替换,不是一回事

说到这里,还得把几个词分清楚。很多争论吵到最后,其实是大家说的根本不是同一件事。

重构,是不改变系统外部行为,改善内部结构。

用户看到的功能还是一样,但开发者把混乱的函数拆开,把重复逻辑合并,把命名改清楚,把测试补上。它像房子里还住着人,但你重新整理线路、加固墙面、修补水管。

重写,是重新实现一套系统。

它通常希望达到类似的业务目标,但内部实现会大量替换,可能换语言、换框架、换架构。它更像搬出去,把房子推倒重盖。

渐进替换,介于两者之间。

你不一次性推倒整栋房,而是先换厨房,再换卧室,再换客厅。软件工程里常说的 Strangler Fig Application,常译作“绞杀者模式”或“绞杀榕模式”,大致就是这个思路:让新旧系统并行,一块一块接管旧系统的功能。

很多团队以为自己想要重写,其实真正需要的是重构。

也有一些团队确实需要重写,但最好先把它拆成渐进替换,而不是一把梭,赌一整盘。

什么时候别重写,什么时候可以重写

如果一个项目还在高频服务真实用户,团队又说不清它的边界、数据关系和关键流程,那就不要急着整体重写。

如果没有可靠测试,没有监控,没有回滚方案,也不要因为 AI 能生成代码,就贸然开干。

如果重写的主要理由只是“我看旧代码不顺眼”,那更要小心。看不顺眼可能是真的,但它不等于业务上值得重写。

反过来,有些情况确实可以考虑局部甚至整体重写。

比如系统规模可控,边界清楚,失败可以回滚;旧技术栈已经带来安全、合规或招聘瓶颈;团队有足够测试样本和验收标准;新旧系统可以并行运行,逐步切换流量。

这时候,AI 很适合参与。

它可以帮你读旧代码、画模块关系、生成测试草稿、写迁移脚本、整理接口文档、实现新模块的第一版。它能让“切片重写”变得更便宜。

但关键是:不要把 AI 当成替你拍板的人。

真正的问题不是“AI 能不能写”,而是“风险能不能被切小”。

重写前,不妨先问三个问题:

如果没有 AI,这个重写在业务上仍然必要吗?

这次重写能不能拆成几个可验证的小迁移?

哪些旧系统行为必须被保留,谁来确认?

如果这三个问题答不上来,AI 只会帮你更快地进入混乱。

现在是最佳时机吗?

所以,AI 时代是不是重写项目的最佳时机?

我的答案是:可能是更适合局部重写的时期,但不是盲目推倒重来的借口。

AI 的价值,不在于让我们终于可以忘掉 Netscape 的教训,而在于让我们有机会用更低成本做更小、更快、更可验证的改造。

过去,团队可能因为重构成本太高,一直忍受旧系统。现在,AI 可以帮你把第一步迈出去:补文档,补测试,拆模块,迁移边缘功能,验证新架构。

这是一种很好的变化。

但如果一个团队没有测试、没有监控、没有迁移计划、没有业务验收,只是把旧项目丢给 AI,说“帮我重写一遍”,那它更可能不是在解决技术债,而是在把旧债转化成一份更现代的新债。

Netscape 的故事之所以还值得讲,不是因为 1998 年的答案可以原封不动搬到今天,而是因为它提醒我们:软件不是只由代码组成的。

它还由用户、历史、事故、流程、组织和时间窗口组成。

AI 可以帮我们更快写出一栋新房子。

但它不会自动告诉我们,旧房子里哪面墙其实承重。

真正成熟的重写,不是删除历史,而是先把历史翻译成测试、接口、文档和迁移路径。

如果能做到这一点,AI 时代当然可以更勇敢地改造旧系统。

但勇敢,不等于一键清空。

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-06-03 01:04:11 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/702618.html
  2. 运行时间 : 0.228938s [ 吞吐率:4.37req/s ] 内存消耗:4,888.96kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=c1efd76d8787c103d42c8b8c8c78e3be
  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.001126s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001766s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000750s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000704s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001440s ]
  6. SELECT * FROM `set` [ RunTime:0.000587s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001562s ]
  8. SELECT * FROM `article` WHERE `id` = 702618 LIMIT 1 [ RunTime:0.001190s ]
  9. UPDATE `article` SET `lasttime` = 1780419851 WHERE `id` = 702618 [ RunTime:0.007559s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000734s ]
  11. SELECT * FROM `article` WHERE `id` < 702618 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001048s ]
  12. SELECT * FROM `article` WHERE `id` > 702618 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001224s ]
  13. SELECT * FROM `article` WHERE `id` < 702618 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.019331s ]
  14. SELECT * FROM `article` WHERE `id` < 702618 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.012915s ]
  15. SELECT * FROM `article` WHERE `id` < 702618 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.006872s ]
0.230656s