乐于分享
好东西不私藏

屎山演进史:从Win11到OpenClaw的代码债务沉思

屎山演进史:从Win11到OpenClaw的代码债务沉思

引言:何为"屎山"

在技术圈,"屎山"是一个既生动又残酷的隐喻。它指的是那些随着时间的推移,由于各种原因变得难以维护、结构混乱、充斥技术债务的代码库。这些代码如同一座由各种垃圾堆积而成的山丘,散发着令人避之不及的气味,却又不得不依赖它生存。

每当有开发者打开一份动辄数百万行、历史可追溯数十年的代码库时,那种扑面而来的复杂感和无力感,往往只能用"屎山"来形容。这个词虽然粗俗,却精准地传达了那种进退维谷的困境:推倒重来成本太高,继续维护又痛苦不堪。

第一部分:Win11——屎山的集大成者

1.1 四十年积累的重量

Windows操作系统的发展史,就是一部屎山形成的活教材。从1985年的Windows 1.0到今天,近四十年的迭代演进,让这个系统背负了难以想象的历史包袱。

Win11的ISO镜像动辄5-6GB,安装后的系统占用更是高达20-30GB。这个数字背后是什么?是无数个为了向后兼容而保留下来的遗留代码,是为了支持各种千奇百怪的硬件而编写的驱动适配层,是无数个"临时方案"最终变成了"永久性解决方案"的技术债务。

1.2 向后兼容的诅咒

微软对向后兼容的执着是业界出了名的。传闻有企业客户因为一个内部应用的兼容性问题威胁要转投竞品,微软工程师连夜分析,发现需要保留某个Windows 95时代的API行为。这种对历史兼容性的承诺,使得Win11内核中至今仍能找到DOS时代的代码痕迹。

这种选择在商业上是理性的——企业客户是Windows的命脉,但代价就是技术债务的指数级累积。每个新版本都在旧版本的基础上搭建,如同在一座摇摇欲坠的老房子上不断加盖楼层。

1.3 架构的分裂与妥协

Win11的UI界面是这种架构分裂最直观的体现。控制面板和设置应用并行存在,前者是Win32时代的遗产,后者是UWP(以及后来的WinUI 3)时代的产物。右键菜单有两套,任务栏右键有旧的也有新的,文件资源管理器在某些视图下仍能看到XP时代的影子。

这种分裂不是设计的初衷,而是历史演进的必然结果。微软尝试过多次彻底的重构——Longhorn项目曾雄心勃勃地要重写整个内核,Vista是一次大胆的架构革新,Windows 8尝试拥抱移动时代——但每一次激进变革都伴随着用户反弹和市场阻力,最终都不得不向现实妥协。

1.4 性能与功能的权衡困境

Win11的系统资源占用一直饱受诟病。8GB内存只是"入门配置",16GB才能流畅运行,这在移动端设备上是难以想象的。但微软面临的是两难:精简系统可以提升性能,但会破坏与大量旧应用的兼容性;保持兼容性,就必须承受历史的重量。

Surface设备作为微软硬件与软件深度整合的尝试,本应是最能体现Windows理想形态的产品线,但即便如此,Surface用户也时常会遇到各种奇奇怪怪的驱动问题、唤醒问题、触控优化不一致的问题。这恰恰说明,即便拥有从底层到应用层的完整控制权,屎山的问题依然难以根治。

第二部分:屎山形成的心理学与组织动力学

2.1 短期主义的本能

屎山的形成往往不是源于愚蠢,而是源于人类的认知局限和组织激励结构。当产品经理要求"下周上线"、当项目经理盯着交付日期、当开发者面对堆积如山的Bug列表时,"先这样,以后重构"成了最理性的选择。

问题在于,"以后"永远不会到来。新的功能需求接踵而至,技术债务不断累积,直到有一天,团队发现自己深陷泥潭,已经无力回天。

2.2 人员流动的代价

软件开发是一项知识密集型的活动,但人员的流动是常态。当核心开发者离职,他们带走的不仅是技能,还有对代码库 implicit knowledge(隐性知识)的理解。接替者不敢轻易改动自己不熟悉的代码,只能在上面叠加新的代码,形成一层又一层的"考古层"。

微软这样的大公司虽然有完善的文档和知识传承机制,但面对动辄千万行级别的代码库,任何人的理解都只能是局部的。这种知识的不连续性,是屎山形成的重要推手。

2.3 技术潮流的裹挟

技术圈的潮流变换之快令人眼花缭乱。.NET Framework、WPF、Silverlight、UWP、MAUI……微软自己也在技术选型上多次转向。每一次转向都意味着上一代的"最佳实践"变成了"遗留代码"。

更复杂的是,企业级软件的生命周期往往远长于技术框架的流行周期。一个用VB6编写的内部系统可能仍在支撑着某家世界500强企业的核心业务,而VB6已经是二十多年前的技术了。

2.4 组织规模的悖论

大型组织面临一个结构性难题:随着团队规模的扩大,沟通协调成本呈指数级增长。不同团队可能使用不同的技术栈、遵循不同的编码规范、追求不同的目标。当这些代码被集成到一个产品中时,不一致性就成了不可避免的结果。

Windows的开发涉及数千名工程师、数十个部门、横跨操作系统内核、驱动、UI框架、应用程序等多个层次。要在这种规模上保持一致性,几乎是不可能的任务。

第三部分:OpenClaw的机遇与挑战

3.1 后发优势的窗口期

OpenClaw作为一个相对年轻的项目,有着Win11所不具备的优势:没有历史包袱,可以从零开始设计架构;可以借鉴前人的经验教训,避开已知的坑;可以选择当下最先进、最合适的技术栈。

但窗口期是有限的。随着功能的增加、用户的增长、生态的扩展,OpenClaw迟早会面临与Win11相似的困境。关键问题是:它能否在到达那个临界点之前,建立起可持续的架构和治理机制?

3.2 模块化设计的意义

OpenClaw采用模块化设计是一个明智的选择。通过将功能拆分为独立的组件(skills),可以降低单个模块的复杂度,实现关注点分离,也便于独立维护和升级。

但这种设计也带来了新的挑战:模块间的依赖关系管理、版本兼容性、接口稳定性等问题都需要仔细权衡。如果设计不当,模块化的系统可能变成"分布式屎山"——不是一座大山,而是一堆小山丘组成的群岛,彼此之间通过脆弱的桥梁连接。

3.3 社区治理的重要性

与Windows的封闭开发模式不同,OpenClaw可以借助开源社区的力量。更多的眼睛意味着Bug更容易被发现,更多的贡献者意味着知识不会过度集中于少数人。

但开源也有其挑战:贡献者的水平参差不齐,代码审查的负担加重,技术决策需要在共识和效率之间取得平衡。一个健康的社区需要有清晰的治理结构、完善的贡献指南、以及对技术债务的零容忍文化。

3.4 技能生态的双刃剑

OpenClaw的skill系统是其最大的特色,也是潜在的风险点。当数百个第三方skill被安装到一个实例中时,如何确保它们不会相互冲突?如何管理依赖关系?如何处理某个skill被放弃维护的情况?

这与npm生态中"依赖地狱"的问题类似。一个看似简单的项目可能依赖上千个包,而这些包又各自有自己的依赖。当某个深层依赖出现问题时,整个系统都可能受到影响。OpenClaw需要建立有效的隔离机制和依赖管理策略,避免重蹈覆辙。

第四部分:屎山治理的哲学思考

4.1 技术债务的本质

技术债务这个比喻由Ward Cunningham在1992年提出,他将次优的技术决策比作财务债务:短期内可以获得收益,但长期需要支付利息。这个比喻的精妙之处在于,它承认了债务并不总是坏事——适度的负债可以帮助企业快速成长,适度的技术债务可以帮助产品快速迭代。

问题在于,大多数组织对技术债务的"偿还"计划永远停留在PPT上。债务不断累积,利息越滚越多,最终陷入"借新债还旧债"的恶性循环。

4.2 重构的勇气与时机

重构是偿还技术债务的主要手段,但重构需要勇气,更需要时机。在功能交付压力之下,很难说服管理层投入资源做"不产生新功能"的重构工作。

成功的重构往往需要:高层的技术理解和支持、清晰的业务价值阐述、渐进式的执行策略、完善的测试覆盖作为安全网。缺乏任何一项,重构都可能变成一场灾难。

4.3 优雅退出的艺术

有时候,最好的解决方案不是修复,而是放弃。微软在Win11上之所以背负着如此沉重的历史包袱,很大程度上是因为无法放弃对企业客户的承诺。但这也意味着,它无法像苹果那样果断地终结旧技术、推动用户迁移。

对于OpenClaw这样的新兴项目,从一开始就应该思考:什么情况下我们应该淘汰某个功能?如何在不伤害用户的前提下推动技术演进?优雅退出需要远见,也需要克制——在功能开发上的克制,在承诺做出上的克制。

4.4 极简主义的价值

Unix哲学提出"做一件事,并做好"的原则,这不仅是技术设计准则,也是对抗屎山的有效武器。每一个功能、每一行代码、每一个依赖,都应该是经过深思熟虑的。

Less is more. 更多的功能意味着更多的维护负担,更多的复杂性,更多的潜在Bug。产品的价值不在于功能的数量,而在于核心功能的完成度。Win11拥有无数的功能,但用户体验却常常不如那些功能精简但打磨精良的系统。

第五部分:面向未来的架构思考

5.1 可逆性设计

好的架构应该具备可逆性——当发现某个决策是错误的时候,可以相对容易地回退或替换。这要求系统具有清晰的抽象层、松耦合的组件、完善的接口契约。

Win11的问题在于,许多早期决策已经深深嵌入系统的血脉之中,无法在不破坏兼容性的前提下改变。OpenClaw需要在架构设计阶段就考虑这种可逆性,为未来的演进留下空间。

5.2 渐进式演进

与其追求一次性的完美设计,不如接受渐进式演进的事实。敏捷开发的核心理念就是承认我们无法一次性做对,因此需要小步快跑、持续反馈、快速调整。

但这并不意味着可以放任技术债务的累积。每一次迭代都应该是"可持续的节奏",在交付新功能和维护代码健康之间取得平衡。这需要团队的纪律性,也需要组织的耐心。

5.3 文档即代码

知识管理是大型项目的关键挑战。文档往往与代码脱节,要么过于陈旧,要么缺失关键信息。"文档即代码"(Docs as Code)的理念将文档纳入版本控制,与代码一同审查、一同部署,可以有效缓解这个问题。

但比文档更重要的是代码的可读性。自解释的代码、清晰的命名、合理的抽象,胜过任何外部文档。每一次提交都应该考虑到:如果未来的开发者(可能是六个月后的自己)看到这段代码,能否快速理解其意图?

5.4 自动化防御

人工审查固然重要,但无法完全依赖人的注意力。自动化工具可以在提交阶段就拦截潜在的问题:代码格式检查、静态分析、测试覆盖率检查、依赖漏洞扫描等。

这些工具的设置和维护本身也需要投入,但长远来看是值得的。它们构成了一道防线,防止技术债务以"微小但持续"的方式不断累积。

结语:屎山的终结还是循环?

回望Windows近四十年的演进史,我们看到的不仅是一个产品的迭代,更是一部技术债务积累的编年史。Win11既是屎山的集大成者,也是微软在商业利益和技术理想之间艰难平衡的结果。

对于OpenClaw,这是一个充满机遇的时代,也是一个充满挑战的时代。它可以站在巨人的肩膀上,学习前人的教训;但也必须警惕,不要成为下一个累积了二十年债务后令人望而生畏的庞然大物。

屎山不是宿命,而是选择的结果——无数个"就这一次"的妥协,无数个"以后再说"的逃避,最终汇聚成令人窒息的技术债务。

对抗屎山,需要的不仅是技术能力,更是组织的自律、决策的远见、以及对质量的坚持。每一行写下的代码,都是在为未来的自己投票。选择整洁而非混乱,选择克制而非膨胀,选择长期价值而非短期便利——这或许是我们在技术债务时代能做出的最好选择。

OpenClaw的旅程才刚刚开始。它能否打破屎山的诅咒,开创一个新的范式?答案不在于架构图有多精美,而在于每一个开发者日复一日的选择。代码即责任,提交即承诺,这或许是我们能从前人的教训中学到的最深刻的一课。


技术债务如同重力,无法逃避,只能学会与之共舞-北京老李

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-04-14 18:36:21 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/526241.html
  2. 运行时间 : 0.106666s [ 吞吐率:9.38req/s ] 内存消耗:5,003.67kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=e8fb95f755c40398badc4fb2a7dc09fc
  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.80 KB )
  145. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000457s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000796s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000320s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000293s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000488s ]
  6. SELECT * FROM `set` [ RunTime:0.000218s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000611s ]
  8. SELECT * FROM `article` WHERE `id` = 526241 LIMIT 1 [ RunTime:0.006525s ]
  9. UPDATE `article` SET `lasttime` = 1776162981 WHERE `id` = 526241 [ RunTime:0.007478s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.004700s ]
  11. SELECT * FROM `article` WHERE `id` < 526241 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000659s ]
  12. SELECT * FROM `article` WHERE `id` > 526241 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000378s ]
  13. SELECT * FROM `article` WHERE `id` < 526241 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.003228s ]
  14. SELECT * FROM `article` WHERE `id` < 526241 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.001638s ]
  15. SELECT * FROM `article` WHERE `id` < 526241 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.004334s ]
0.108438s