当前位置:首页>Linux>为什么 Linux 什么都喜欢写配置文件?

为什么 Linux 什么都喜欢写配置文件?

  • 2026-06-28 06:44:54
为什么 Linux 什么都喜欢写配置文件?
点击上方
蓝字
关注我,设置星标不迷路哈

你有没有过这种经历?刚接触Linux的时候,想改个Nginx的端口,找半天图形界面找不到,结果被告知要去/etc/nginx/nginx.conf里改一行文字;想开个开机自启,也要去编辑/etc/systemd/system/下的配置文件;甚至连换个桌面背景,有些轻量桌面都要改配置文件里的参数。

忍不住想问:都2026年了,为啥Linux还什么都靠配置文件?就不能做个点点点的图形界面,让我点几下就完事吗?

其实这个问题背后,藏着Linux设计哲学的核心——今天我们就来聊透:为啥Linux这么偏爱配置文件?这种设计到底好在哪,又有没有缺点?看完你就懂了,这不是落伍,是经过几十年验证的聪明选择。


先搞清楚:Linux里说的「配置文件」到底是什么?

在说为什么之前,先给新手朋友理清楚:我们说的配置文件,到底是什么东西?

其实很简单,配置文件本质就是纯文本文件,里面存着程序启动、运行需要的参数。比如你要让Apache监听8080端口,就要在配置文件里写一句Listen 8080;你要让Nginx把请求转发到本地8000端口,就在location块里加一行proxy_pass http://127.0.0.1:8000

和Windows下很多程序把配置存在注册表、或者二进制文件里不一样,Linux绝大多数程序的配置,都是明文存储的纯文本。哪怕是很复杂的服务,比如MySQL、K8s,核心配置也都是一个个可编辑的文本文件。

那问题来了:纯文本配置,到底比图形界面配置好在哪里?


原因1:一切皆文件——这就是Linux的设计哲学啊!

如果你听过Linux的设计思想,一定听过这句话:一切皆文件

这句话可不是随便说说的,它是整个Linux体系的核心逻辑:不管是硬件设备、管道、进程通信,还是程序的参数配置,通通都可以抽象成文件来处理。

为什么要这么设计?因为文件是最简单、最通用的抽象接口啊。你不需要为每种设备、每种配置开发一套单独的读写工具,只要会用读文件、写文件的操作,就能搞定所有事情。

举个例子:你要改网卡IP,以前用ifcfg的方式,就是改/etc/sysconfig/network-scripts/ifcfg-eth0这个文本文件;你要调整内核参数,就是改/etc/sysctl.conf;你要加一个用户的环境变量,就是改~/.bashrc或者/etc/profile

所有操作,本质都是编辑一个文本文件,逻辑完全一致。如果换成图形界面呢?每个程序的配置界面逻辑都不一样,改IP一个界面,调内核参数又是另一个界面,学习成本反而更高了。

我刚学Linux的时候,老师说过一句话:"Linux下你只要会用vi/vim,会看懂配置语法,就能配置所有服务"——现在想想,真的说到点子上了。遵循"一切皆文件"的设计,配置自然也就变成文本文件了,这不是麻烦,是统一设计带来的一致性。

反过来想,如果Linux不这么做,一部分配置放图形界面,一部分放二进制文件,那才破坏了整个体系的一致性。


原因2:纯文本配置,是自动化运维的"黄金搭档"

现在不管是运维还是开发,谁还手动一台台改服务器配置啊?都是用Ansible、SaltStack、Terraform这些自动化工具批量部署,几十上百台服务器,一条命令就把配置更完了。

你知道吗?纯文本配置文件,恰恰是自动化能跑起来的基础。

为什么这么说?我给你举两个实际场景对比一下就懂了:

场景1:100台服务器,要统一把Nginx的worker进程数改成和CPU核心数一致。如果是纯文本配置,你只需要写一条sed命令:

bashsed -i 's/^worker_processes .*/worker_processes auto;/g' /etc/nginx/nginx.conf

然后用Ansible批量执行,100台服务器两分钟改完,还能做版本校验,哪台改错了一眼就能看出来。

场景2:如果Nginx的配置存在二进制文件里,或者只有图形界面能改呢?你别说自动化了,你手动改都得一台台登进去开图形界面点,点100台不得半天?而且改错了哪台,你也没法快速diff对比,出了问题都不好排查。

再往大了说,现在的容器、云原生,不就是把应用和配置都做成镜像吗?Dockerfile里改配置,就是直接用RUN命令改文本文件,或者把写好的配置文件复制进去,整个过程都是可编程的。如果配置不是纯文本,镜像构建这一步根本做不到这么顺畅。

还有版本控制——你肯定听过"配置即代码(Config as Code)"这个说法吧?把配置文件放进Git,改了什么内容,谁改的,什么时候改的,每一条记录都清清楚楚,改错了直接回滚到上一个版本,不要太方便。

如果不是纯文本,你能把二进制配置放进Git做版本管理吗?Git的diff功能根本没法用,改一个字节整个文件就变了,还谈什么版本追溯?

我之前碰见过一个奇葩的商业软件,配置全存在一个二进制数据库里,要改只能用它自带的图形界面工具改。后来我们想做自动化批量部署,愣是卡了半个月,最后只能写爬虫模拟界面点击,稳定性差到极致,那滋味,谁碰谁知道。

从这个角度说,Linux偏爱配置文件,其实是提前几十年就适配了现在的自动化运维思路,你说牛不牛?


原因3:改配置比你想的更可靠——出了问题好排查啊!

做运维的同学,最怕的就是什么?最怕服务起不来了,你找不到为什么,尤其是配置错了的时候。

纯文本配置文件,最大的优点之一就是透明、好排查

我来给你说一个常见的故障场景:Nginx启动失败,报"端口被占用"。如果是纯文本配置,你直接打开配置文件一看,哦,原来listen写的是80,被Apache占了,改个端口一秒解决。

那如果配置不是文本呢?我之前在Windows下碰见过一个软件,配置存在加密的二进制文件里,端口改错了启动失败,软件只给你弹一个"启动失败",根本不告诉你哪错了,你要找问题,只能把配置一个个点出来核对,疯都疯了。

而且纯文本还有一个好处:哪怕你的系统出了一点小故障,只要硬盘没坏,文本配置文件就能读出来。哪怕是用一张LiveCD启动进入系统,直接挂载硬盘就能读配置,修复问题。如果是存在注册表、或者专有格式的二进制文件里,系统坏了,你连配置都读不出来,那才叫悲剧。

还有一个点:文本配置兼容性极强。你十年前写的Apache配置文件,今天新版本的Apache照样能读,照样能用,甚至你换了CPU架构,从x86换到ARM,文本文件一点都不用改,直接用。二进制配置就不一样了,32位的二进制配置换到64位系统可能就不认了,版本升级说不定格式就变了,老配置读不出来,哭都没地方哭。

我手头还有好几年前的服务器配置备份,都是一个个纯文本文件,现在拿出来打开就能看,就能用,根本不存在"打不开"的问题。这种可靠性,是二进制格式比不了的。


原因4:轻量!不需要依赖,任何环境都能用

很多新手朋友不知道,Linux最早是为服务器设计的,服务器要什么图形界面啊?服务器都是最小化安装,连X Window都不装,就是为了省资源,跑核心业务。

如果Linux的配置都必须靠图形界面改,那没有图形界面的服务器,你还改不改配置了?

别说服务器了,就算是嵌入式Linux,比如路由器、开发板,资源有限,根本跑不动图形界面,你要改配置怎么办?改个文本文件就搞定了啊,vi一个几十k的工具就能编辑,不需要任何额外依赖。

反过来,如果要做图形配置界面,你得依赖GTK或者Qt,得占多少内存多少存储?嵌入式设备本来就只有几十M内存,哪经得起这么造?

我之前给一个嵌入式设备做开发,整个系统才100M左右,要是带个图形配置工具,分分钟把存储占满。而纯文本配置,只需要带个vi或者nano,总共几百k就搞定了,太轻量了。

哪怕是现在的云服务器,绝大多数人也是用最小化安装,远程SSH连上去操作,根本不会装图形界面。这时候配置文件就是唯一方便的选择,总不能为了改个配置,每次都装个图形界面,然后用远程桌面连进去吧?那不仅慢,还多出来一堆安全隐患,得不偿失。

所以说,配置文件的设计,天生就适配Linux的主要使用场景——服务器、嵌入式、无图形界面的环境,这是场景需求决定的,不是开发人员懒。


原因5:灵活!比图形界面能做的事多太多了

你可能会说:图形界面点一点,多简单,新手不容易错啊?那你是没碰到复杂配置的场景——图形界面的功能,永远做不到纯文本配置这么灵活。

举个例子:你要给Nginx配置100个不同的域名,每个域名跳转到不同的端口,你用图形界面得一个一个添加,点一百次,手都酸了。

用配置文件呢?你只要写一个循环,生成100个server块,粘贴进去就完事了,一分钟搞定。而且如果要统一修改,比如把所有域名的过期时间改成1年,直接全局替换就好了,比你一个个在图形界面改快一百倍。

再比如,你要做条件配置:根据服务器的CPU核心数,自动调整Nginx的worker数,根据内存大小调整缓存大小。这种动态配置,图形界面根本做不到,你只能自己在配置文件里改,或者用脚本生成,灵活度天差地别。

还有,很多程序的配置项非常多,比如Nginx有上百个配置指令,MySQL也有好几百个可调整的参数。如果要把所有配置项都做到图形界面里,这个界面得复杂成什么样?估计新手看了都懵,反而更难用。

而文本配置呢?你只需要用到什么改什么,默认配置都给你注释好了,一行行看过去,找你要改的就行,不需要的你不用管,反而更清晰。我见过太多图形配置工具,只把常用的5%配置项做进去了,剩下95%不常用的高级配置,根本找不到入口,你想改都改不了,那才叫难受。

我之前就碰见过一个开源的存储系统,官方做了很华丽的Web图形配置界面,结果我要改一个内核层面的高级参数,图形界面根本没有这个选项,最后还是得去服务器上改对应的配置文件才行——相当于绕了一圈,还是回到了配置文件的路子上。

所以说,图形界面是简化了常用操作,但牺牲了灵活性,而纯文本配置,给了用户最大的自由度,你想怎么改就怎么改,没有做不到,只有想不到。


说了这么多好处,配置文件就没有缺点吗?

客观说,当然有。没有完美的设计,只有适合场景的设计。配置文件的缺点也很明显:

第一,对新手不友好。刚接触Linux,你不知道配置文件放在哪,不知道语法是什么,改完了不知道怎么加载生效,一不小心拼错一个单词,服务就起不来了,还得去查日志排错,确实容易劝退。

我刚学Linux改网卡配置的时候,就因为把IPADDR拼成了IPADR,折腾了一晚上才找到问题,那种绝望我现在都记得。

第二,确实容易出错。没有语法检查,没有自动补全(当然现在vim有插件能补全,但还是不如图形界面点选不容易错),手滑多打一个空格、少写一个分号,配置就失效了,排查起来还要花时间。

第三,复杂配置学习成本高。比如Nginx的location匹配规则,systemd的service配置语法,都是有一套自己的规则的,新手要摸清楚规则,确实要花不少时间,不像图形界面,跟着提示填就行了。

那为什么大家不把这些缺点改了?其实现在也在改进啊:现在有很多工具,比如Webmin、 Cockpit,都是给Linux做图形化配置的,还有很多云服务商的面板,也是点点点就能改配置——但你知道吗?这些工具本质还是帮你改配置文件,你在界面上点完,它后台还是去改对应的文本文件,从来没有说换二进制存储的。

也就是说,哪怕有了图形界面,配置文件还是底层的核心,图形界面只是加了一层皮肤而已——这恰恰说明配置文件这种设计,本身是经得起考验的,图形界面只是降低新手门槛,并没有替换掉它。


总结:配置文件不是守旧,是经过时间验证的选择

说了这么多,我们来总结一下:Linux什么都喜欢写配置文件,本质不是开发人员懒,也不是设计落伍,而是由这几个原因决定的:

  1. 符合"一切皆文件"的核心设计哲学,保持整个系统的一致性;
  2. 天然适配自动化运维和配置即代码,方便批量管理和版本控制;
  3. 纯文本透明可靠,出问题好排查,兼容性强,不容易坏;
  4. 轻量无依赖,适配服务器、嵌入式等无图形界面的场景;
  5. 灵活度高,能满足各种复杂的定制化需求,图形界面做不到。

当然它确实有缺点,对新手不友好,容易出错,但这些缺点都是可以通过工具弥补的,而它带来的优势,却是骨子里的,从UNIX时代延续到现在,几十年了还在用,就说明它经得起时间的考验。

你刚开始接触Linux可能会觉得麻烦,等你用久了就会发现:当你批量管理几十上百台服务器,当你要排查一个奇怪的启动故障,当你要做定制化的复杂配置,你会感谢这种设计——它真的比黑盒的二进制配置、图形界面配置好用太多了。


最后想问大家一个问题:你刚接触Linux的时候,被配置文件坑过最惨的一次是什么?是改坏了什么配置,导致服务起不来,折腾了多久才修好?欢迎在评论区留言分享你的经历~

如果你觉得这篇文章讲清楚了你的疑问,别忘了点个赞转发给身边正在学Linux的朋友呀。

END

往期推荐

为什么 Linux 没有 .exe?一文讲懂 Linux 到底怎么运行程序

为什么 Linux 要用“挂载”?而不是直接显示 C 盘、D 盘?

一文搞懂Linux磁盘结构与管理:物理磁盘、分区表、文件系统全梳理

Linux 系统中的用户、用户组以及权限管理:从入门到搞懂,其实没那么绕

为什么 Linux 的目录这么奇怪?终于有人讲明白了

重新理解 Linux 网络(一):IP 地址不是机器的门牌号

重新理解 Linux 网络(二):IP 配好了,为什么还是不通?

为什么运维都要学 Shell?终于有人讲明白了

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-03 00:54:30 HTTP/2.0 GET : https://f.mffb.com.cn/a/501503.html
  2. 运行时间 : 0.160031s [ 吞吐率:6.25req/s ] 内存消耗:4,338.93kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=a877d0e1e068b29058177b66e46f9dd0
  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.000597s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000739s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.014193s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000314s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000977s ]
  6. SELECT * FROM `set` [ RunTime:0.006604s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000825s ]
  8. SELECT * FROM `article` WHERE `id` = 501503 LIMIT 1 [ RunTime:0.005803s ]
  9. UPDATE `article` SET `lasttime` = 1783011271 WHERE `id` = 501503 [ RunTime:0.010671s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.000878s ]
  11. SELECT * FROM `article` WHERE `id` < 501503 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.003511s ]
  12. SELECT * FROM `article` WHERE `id` > 501503 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.006373s ]
  13. SELECT * FROM `article` WHERE `id` < 501503 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.024432s ]
  14. SELECT * FROM `article` WHERE `id` < 501503 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.007854s ]
  15. SELECT * FROM `article` WHERE `id` < 501503 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.006825s ]
0.162001s