当前位置:首页>Linux>为什么Linux游戏等了二十年,最后是被一台游戏机救活的?

为什么Linux游戏等了二十年,最后是被一台游戏机救活的?

  • 2026-07-01 00:17:35
为什么Linux游戏等了二十年,最后是被一台游戏机救活的?

Linux游戏站上5%,但打开局面的不是开源理想

2026年3月,Linux在Steam平台上的用户占比首次突破5%。

很多人把这个消息当作开源社区的胜利——自由软件熬了三十年,终于要在桌面端翻身了;微软Windows 10停止支持倒逼用户出走,Steam Deck让百万玩家”无感入坑”,Linux游戏似乎正在迎来它的”iPhone时刻”。

但我想说的是,这个故事如果只讲到这里,那就完全讲错了。

因为Linux游戏真正站上5%的原因,不是开源理想终于感化了游戏厂商,不是自由软件精神战胜了封闭生态,更不是社区二十年如一日的坚持终于等来了回报——恰恰相反,这5%的含金量,是”开源原教旨主义”退场换来的。

什么意思?我们从最近的一个技术变化说起。

1 NTSYNC:一个不起眼的内核驱动,一次不动声色的”政变”

今年3月,Linux内核合入了一个叫NTSYNC的小型驱动。它的功能说起来很简单:让Linux内核原生支持Windows的一套线程同步机制,这样Windows游戏在Linux上跑的时候,不需要再通过模拟层来”假装”协调多线程任务了。

对普通玩家来说,这就是一次普通的系统更新,Steam Deck自动升级,该玩玩,没什么感知。

但对Linux社区来说,这件事的象征意义,怎么强调都不过分。

因为这是Linux内核历史上为数不多的、专门为了兼容Windows而加入的新特性。不是反过来让Windows兼容Linux,而是Linux主动把Windows的东西搬进了自己的内核。

你要知道,在十年前的Linux社区,这种事属于政治不正确到了极点。当年有人提议在Linux内核里加一个Windows兼容层,邮件列表上能吵出几千封回复,最终以”污染内核纯洁性”为由被毙掉。Linus Torvalds本人对这类话题的态度也一向是:Windows的烂摊子别往我这儿搬。

但现在呢?NTSYNC不仅合入了,而且几乎没有引起任何像样的争议。内核维护者审了代码,测了性能,签了字,就过了。仿佛这不过是一次普通的驱动更新。

发生了什么?

答案很简单,但也非常残酷:Valve手里有八百万台Steam Deck。

2 谁定义了”进步”?

要理解这个转变,我们得先回顾一下Linux游戏的发展史。这段历史,说白了就是一个问题:什么叫”进步”?

在过去二十年的大部分时间里,Linux社区对”进步”的定义是非常明确的——自由、开放、不依赖专有软件、不被商业公司绑架。这是一个价值观问题,不是技术问题。你问一个2010年的Linux老玩家”为什么用Linux”,他大概率不会跟你聊性能或者兼容性,而是跟你聊自由软件基金会、GPL协议、以及微软有多邪恶。

在那个语境下,Wine这个项目的位置其实非常微妙。它让Linux能跑Windows程序,但很多原教旨主义者看它不顺眼——你这不是变相承认Windows生态更优越吗?你这不是让Linux变成了Windows的寄生虫吗?

所以Wine长期以来是一个”社区热情项目”,靠一群志愿者的技术理想主义撑着。进展缓慢,兼容性随缘,能跑起来就算赢。那个年代的Linux游戏体验,过来人都懂:十个游戏九个崩,剩下一个缺字体。

当时社区的主流叙事是:我们不需要兼容Windows,我们应该发展Linux原生游戏。只要我们的生态做起来了,游戏厂商自然会来适配。

这个叙事听起来很对,很进步,很高尚。

但有一个小问题:二十年过去了,Linux原生游戏的数量,两只手就数得过来。

3 “补丁思维”的极限

转机出现在2018年。Valve推出了Proton——一个基于Wine但做了大量魔改的商业级兼容层。Proton做了什么?说白了就是一件事:它不再跟你讨论主义了,它只解决”能不能玩”的问题。

Proton内置了海量的补丁和优化,针对热门游戏一个一个做适配,把那些原本在Wine上根本跑不起来的3A大作,硬生生调到了可玩状态。到了Steam Deck发布的时候,Proton的兼容性已经好到了一个程度:大部分Steam游戏库里的游戏,你点开就能玩,根本不用折腾。

这是Linux游戏史上第一次,用户不需要懂技术、不需要会配环境、不需要逛论坛扒教程,就能在Linux上玩游戏。

但Proton这条路走到后面,也遇到了瓶颈。这个瓶颈就是所谓的”补丁思维”。

Proton(以及Wine)为了实现Windows的线程同步机制,用了两个方案:esync和fsync。简单来说,就是利用Linux现有的系统调用,通过精巧的工程设计,近似地模拟Windows的行为。它们做得非常聪明,也非常有效,在大多数情况下性能损失可以接受。

但”近似”这个词本身就意味着问题。就像你用胶带和纸板修补一面墙,补得再好,它也不是原来的材料。在某些极端情况下——特定游戏的特定场景——这种近似会失效,表现为偶发的卡顿、死锁、或者奇奇怪怪的Bug。这些Bug不会出现在性能基准测试里,因为它们不是性能问题,它们是”行为不一致”问题。一个线程在Windows上先拿到锁,在Proton上后拿到锁,差了零点几毫秒,游戏就崩了。

社区为了解决这些问题,在esync和fsync上打了无数个补丁,修了一个游戏可能又坏了另一个。这就是补丁思维的极限——你在一个不牢固的地基上建房子,每加一层楼就得在楼下塞更多支撑柱,最后整个体系摇摇欲坠。

4 NTSYNC:从补丁到地基

NTSYNC做的事情,跟esync和fsync有本质的不同。

它不是在Linux现有的系统调用上做模拟,而是直接在Linux内核里实现了一套和Windows行为完全一致的同步机制。这意味着什么呢?意味着从此以后,Windows游戏调用这些API的时候,Linux不需要再”翻译”了——它原生就懂。

技术上的区别说完了。但比技术更重要的,是这个动作背后的含义。

NTSYNC的作者Elizabeth Figura是CodeWeavers的员工,而CodeWeavers是Valve在Wine/Proton开发上的核心合作方。Valve的工程师Pierre-Loup Griffais公开说过,fsync的性能其实已经够用了。即便如此,Valve还是在3月把NTSYNC推入了SteamOS稳定版。

为什么?

因为fsync本质上是一个”聪明的妥协”。它够快,但它是建立在沙地上的。每出一个新游戏、每更新一次内核、每改一次Proton版本,都有可能触发新的边缘情况。维护成本是持续且不可预测的。

而NTSYNC是”笨办法”——直接把地基挖了重盖。短期来看投入更大,但长期来看,这是唯一可持续的方案。

这就是补丁和地基的差距。补丁够好,但只有地基才能让你继续往上盖楼。

5 “原教旨主义”的退场

现在让我们回到开头那个问题:为什么NTSYNC合入内核没有引发争议?

因为”开源原教旨主义”的话语权,已经从根本上被削弱了。

削弱它的不是辩论,不是理念,不是某个天才在邮件列表上写了一封雄文把所有人都说服了。削弱它的是生产力

Steam Deck卖了多少台?Valve没公布精确数字,但行业普遍估计在500万到800万之间。这意味着什么?意味着全球有差不多1千万人在用Linux玩游戏,他们中的绝大多数甚至不知道自己在用Linux。他们只知道这玩意儿能玩《赛博朋克2077》,能玩《艾尔登法环》,体验和Windows差不多,开机即玩。

这1千万用户构成了什么?经济基础。

当你有1千万用户的时候,内核社区对你的态度会不一样。当你的硬件是Linux生态里为数不多的消费级成功产品时,内核维护者会更认真地对待你的代码提交。当你的方案能切实解决几千万人的兼容性问题时,”内核纯洁性”这种形而上的顾虑,会自动让位给现实需求。

经济基础决定上层建筑。

Linux内核的”上层建筑”——哪些特性能进、哪些不能进、什么算”优雅的设计”、什么算”肮脏的妥协”——这些标准从来都不是一成不变的。它们随着经济基础的变迁而变迁。当Linux的商业价值主要体现在服务器领域时,内核社区的服务对象是企业IT部门,所以调度器、文件系统、网络栈这些是重中之重。当Linux开始承载上千万游戏玩家时,游戏兼容性自然就变成了值得严肃对待的议题。

不是Linux社区突然变”务实”了。是务实的人拿到了话语权。

6 从”喊口号”到”干活”

很多人可能会觉得,我这篇文章是在批评开源社区的那些理想主义者。

不是的。我恰恰认为,Linux能有今天,恰恰是因为它同时容纳了两类人:一类是仰望星空的人,他们定义了”什么是好的”;另一类是脚踏实地的人,他们定义了”什么能用的”。

但历史反复告诉我们一个规律:在生存竞争面前,能用的永远比好的管用。 谁的天国入场券便宜,谁就能拥有更多的信众。

Linux游戏这二十年的故事,就是这句话的完美注脚。

社区花了二十年念”自由软件”的经,Linux桌面占有率纹丝不动。Valve进场五年,不喊口号,只干活——把Wine魔改成Proton,把Proton的补丁升级成内核特性,把内核特性推给上千万Steam Deck用户——然后Linux在Steam上的占比就破了5%。

5%这个数字,说大不大,说小不小。但它是怎么来的,比它本身重要得多。

它是靠上千万台Steam Deck砸出来的,是靠Valve真金白银的研发投入换来的,是靠内核社区放下门户之见接纳”Windows的东西”换来的。唯独不是靠喊口号念来的。

7 启示

我写这篇文章,不是因为我对Linux游戏有多深的研究——说实话,很多技术细节我也是现学的。但我对这个话题感兴趣,是因为它验证了一个我一直在不同领域观察到的规律:

真正推动进步的,从来不是某种”主义”的纯洁性,而是生产力的实在力量。

Linux游戏没有因为”开源理想”而成功,它因为Steam Deck这个硬件产品成功了,因为Proton这个兼容层好用了,因为NTSYNC把地基打牢了。Valve推动这一切的动力也不是什么”挑战微软霸权”的宏愿,而是Steam平台需要摆脱对Windows的依赖,Steam Deck需要一个自主可控的操作系统。

商业利益驱动技术进步,技术进步带来用户体验改善,用户体验改善扩大用户基础,用户基础反过来强化商业利益——这是一个实打实的正向循环。它不浪漫,不高尚,但它是真的。

相比之下,那些只停留在”我们应该发展Linux原生游戏”层面的呼吁,那些对”Windows污染内核”的道德洁癖,那些在论坛上争论”自由软件vs开源软件”的键盘辩论——它们对Linux游戏的实际贡献,有多少?

零。

这不是说理想主义没有价值。理想主义定义了方向,但只有务实主义才能走到目的地。

NTSYNC不会是最后一个”Windows的东西搬进Linux”的案例。随着Linux游戏用户继续增长,会有越来越多的Windows API变成Linux内核的原生特性。这不是Linux在”堕落”,这是Linux在长大——它终于学会了,服务用户比保持纯洁更重要。

而那些还在争论”这还算不算真正的Linux”的人,不妨问自己一个问题:

在2026年,一个普通玩家打开Steam Deck,流畅运行了他想玩的游戏——这个瞬间,他是在享受”自由软件”的成果,还是在享受”生产力”的成果?

答案不言自明。

而这个世界上的绝大多数事情,答案也都是这个逻辑。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-03 03:54:01 HTTP/2.0 GET : https://f.mffb.com.cn/a/499041.html
  2. 运行时间 : 0.094583s [ 吞吐率:10.57req/s ] 内存消耗:4,901.01kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=450989191d40ecde27c03f78021c2d60
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000627s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000928s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000335s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000253s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000471s ]
  6. SELECT * FROM `set` [ RunTime:0.000193s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000537s ]
  8. SELECT * FROM `article` WHERE `id` = 499041 LIMIT 1 [ RunTime:0.000447s ]
  9. UPDATE `article` SET `lasttime` = 1783022041 WHERE `id` = 499041 [ RunTime:0.010327s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.000333s ]
  11. SELECT * FROM `article` WHERE `id` < 499041 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000532s ]
  12. SELECT * FROM `article` WHERE `id` > 499041 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000474s ]
  13. SELECT * FROM `article` WHERE `id` < 499041 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.003445s ]
  14. SELECT * FROM `article` WHERE `id` < 499041 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000828s ]
  15. SELECT * FROM `article` WHERE `id` < 499041 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.001112s ]
0.096204s