当前位置:首页>python>为什么我装完 Python 和 Conda,命令行里敲 python 却弹出了微软商店?

为什么我装完 Python 和 Conda,命令行里敲 python 却弹出了微软商店?

  • 2026-07-03 09:04:12
为什么我装完 Python 和 Conda,命令行里敲 python 却弹出了微软商店?

一个让无数 Windows 开发者摔键盘的“别名”设计,背后是微软的工程权衡

1. 开篇:一个让我怀疑人生的下午

上个月换了一台新电脑,Windows 11。

按老套路,装完 Miniconda,配置好清华源,打开 PowerShell 习惯性敲了个 python --version —— 结果弹出了一个窗口:

“Python was not found; run without arguments to install from the Microsoft Store”

我愣了三秒。明明 conda 命令可以用,conda activate 能进环境,但 python 就是不认。更诡异的是,我在开始菜单里明明看到了 Miniconda 的 Python 解释器,路径 C:\Users\xxx\Miniconda3\python.exe 就躺在那儿。

这种“明明装了却用不了”的感觉,比“没装”更让人恼火。

我相信至少一半的 Windows Python 开发者都踩过这个坑。有人说要改环境变量,有人说要重装,还有人干脆换 WSL 了。

那天我花了四十分钟才搞明白:这不是 bug,是 Windows 的一个“应用执行别名”功能在作祟。

2. 现实开发场景:你遇到的情况和我一模一样

你打开 PowerShell(或 cmd),输入:

python --version

系统提示:

Python was not found; run without arguments to install from the Microsoft Store, or disable this shortcut from Settings > Apps > Advanced app settings > App execution aliases.

你换 python3 试试,完全一样的提示。

你检查环境变量 PATH:Conda 的安装目录(C:\Users\你的用户名\Miniconda3 和 C:\Users\你的用户名\Miniconda3\Scripts)都在里面,顺序也没错。

但 python 命令就是不理你。

这时候你可能会想:是不是 Windows 优先去某个地方找 python 了?是不是环境变量根本没生效?

3. 本文目标

这篇文章不会教你“怎么安装 Python”这种基础操作。

我想解释的是:

  • 为什么 Windows 会设计这个“应用执行别名”功能?
  • 为什么 Conda 安装完 python.exe 后,python 命令仍然被劫持?
  • 真正解决问题的原理是什么,而不是单纯复制粘贴操作步骤。

看完你会理解:这个问题的本质不是环境变量配置错误,而是 Windows 对命令解析顺序做了一个“善意但坑爹”的干预。

4. 先给结论

问题的直接原因:Windows 在 %USERPROFILE%\AppData\Local\Microsoft\WindowsApps 目录下放了一个 0 字节的 python.exe 文件(或者叫“重定向器”),这个目录在系统环境变量 PATH 中的优先级高于你后面追加的 Conda 目录。

当你敲 python 时,Windows 按 PATH 顺序查找:

  1. 先找到 C:\Users\你的用户名\AppData\Local\Microsoft\WindowsApps\python.exe
  2. 这个 exe 的唯一作用就是:检测你有没有从微软商店安装 Python。如果没有,就弹出“是否要去商店安装”的提示。

解决方案:去 Windows 设置 → 应用 → 应用执行别名 → 关闭 python.exe 和 python3.exe 的开关。关掉后,那个 0 字节的占位文件会被删除,Windows 就会继续往后找真正的 Conda 里的 python.exe。

下面我们来拆解:微软为什么要加这个“奇葩”设计。

5. 建立直觉理解:先讲一个“门卫”的故事

想象你住在一栋写字楼里。

大楼大厅有个门卫。任何人来找“王经理”,门卫都会先问:“你是找 3 楼的王经理,还是 8 楼的王经理?”

为了省事,大楼管理处在门口立了个牌子:“找王经理的,先到 1 楼前台登记。”

这个前台就是 Windows 的 WindowsApps\python.exe

但问题是:明明 3 楼(Conda)已经有一个王经理了,你走进大楼,门卫还是把你拦下来:“先登记。”

你问:“我已经知道王经理在 3 楼,能直接上去吗?”

门卫说:“不行,这是规矩。”

Windows 的“应用执行别名”就是这个门卫。它的设计初衷是好的——防止用户装了一堆 Python 环境(Conda、原生 Python、Pyenv、WinPython……)后,系统不知道该调哪个。于是微软拍了个板:“默认情况下,你先来我这登记,我帮你决定去哪。”

但对于开发者来说,我们不需要这个“帮助”。我们清楚知道自己想要哪个 Python。

这个“帮助你”的机制,反而变成了阻力。

6. 原理解释:Windows 的命令解析顺序到底是怎么走的?

让我们深入一下 Windows 的命令查找逻辑。

当你在 PowerShell 或 cmd 中输入一个命令(比如 python),系统会:

  1. 检查是否为内部命令(如 dircd
  2. 在 PATH 环境变量列出的目录中,从左到右搜索,找到第一个匹配的 .exe.cmd.bat 等可执行文件
  3. 如果都没找到,报错

关键就在第二步。

打开你的系统环境变量(System Properties → Environment Variables),你会看到 PATH 里有一堆路径。重点看 User variables 和 System variables 中的 PATH,其中通常包含:

C:\Users\你的用户名\AppData\Local\Microsoft\WindowsApps

这个路径一般出现在用户变量中,而且通常排在较前的位置。

Conda 添加的路径一般是这样的:

C:\Users\你的用户名\Miniconda3C:\Users\你的用户名\Miniconda3\ScriptsC:\Users\你的用户名\Miniconda3\Library\bin

如果你是在“为当前用户安装”模式下装的 Miniconda,这些路径也会加到用户变量中,但 WindowsApps 路径往往在它上面(取决于安装顺序和系统默认)。

这就是问题的关键:WindowsApps 的优先级高于 Conda 目录

验证:看看到底是哪个 python.exe 在作妖

你可以在 PowerShell 中执行:

where.exe python

或者(更底层的):

Get-Command python | Format-List

你会看到类似输出:

ResolvedString: C:\Users\wuyunbin\AppData\Local\Microsoft\WindowsApps\python.exe

而不是你期望的 C:\Users\wuyunbin\Miniconda3\python.exe

这个 WindowsApps 下的 python.exe 文件大小通常只有 0 字节,或者是一个极小的 stub。它的作用是:跳转到 Microsoft Store 的 Python 安装页面

微软的官方解释是:为了让不熟悉命令行的普通用户能方便地安装 Python。毕竟,很多初学者在教程的指导下打开命令行敲 python,如果直接报“不是内部命令”,他们会完全不知所措。

这个设计对小白用户很友好,但对开发者就非常不友好。

7. 推导过程:为什么微软不直接删掉这个“别名”?

到这里你可能会问:既然这么坑,微软为什么不直接去掉这个功能?或者默认不创建这个 stub?

我们站在微软的角度推导一下:

用户群体:

  • 普通用户(可能一辈子只敲一次 python,为了运行某个游戏工具或脚本)
  • 开发者(每天敲几十次 python

微软的权衡:

  • 对普通用户:如果没有这个 stub,敲 python 会直接报错“命令未找到”,他们会困惑甚至放弃。
  • 对开发者:开发者有能力自己解决这个问题(关闭别名、改 PATH、或者直接用 py 命令)。

为什么不做智能检测?比如检测到 Conda 或 Python 已安装就自动禁用别名?技术上可以实现,但会引入额外的复杂性和潜在的性能开销(每次敲命令都要扫描系统已安装的程序)。

为什么不让开发者默认绕过?微软其实提供了一个替代:py 命令(Python Launcher for Windows)。如果你安装的是 python.org 官方的 Python,py 命令是可以直接用的,并且它会自动检测已安装的 Python 版本。但 Conda 用户不一定会用这个。

最终设计:

  • 默认启用别名(照顾小白)
  • 提供设置界面让开发者可以关闭(照顾高级用户)
  • 不自动检测已安装的 Python,因为简单、可靠、无副作用

这就是典型的工程权衡:损失一部分高级用户的体验,换取绝大多数普通用户的低门槛入门。

8. 源码/实现验证:这个 stub 到底长什么样?

虽然 WindowsApps\python.exe 没有开源,但我们可以通过逆向工程或观察行为来确认它的逻辑。

实际上,从 Windows 10 开始(约 2019 年的某个更新),微软引入了一个叫做“App Execution Aliases”的功能。它本质上是一种 AppX 应用的激活器

你可以在注册表中看到这些别名的定义:

路径:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\App Paths

你会发现 python.exe 键值指向的并不是一个真实的 exe,而是一个重定向:

"Path" = "C:\Users\你的用户名\AppData\Local\Microsoft\WindowsApps\python.exe"

而这个 python.exe 实际上是一个 AppX 桩 (stub),它会触发 Windows 的“应用安装器”服务,弹出一个对话框询问是否要从商店安装 Python。

我们可以做一个实验:临时把 WindowsApps 目录从 PATH 中移除(或重命名该目录下的 python.exe),再次运行 python,你会发现系统立即找到了 Conda 的 python 解释器。

这个实验证明:问题就是那个 stub 文件的存在和 PATH 优先级导致的。

阅读源码时的真实体会

我后来翻过 ReactOS(一个开源 Windows 兼容操作系统)的 cmd 源码,在 exec.c 中看到了搜索 PATH 的逻辑:SearchPath 函数会顺序遍历每个目录,对每个目录调用 CreateFile 尝试打开文件。一旦在某个目录下找到匹配的 exe,立即返回,不再继续。

这就是为什么别名优先级如此“强硬”——它不是智能的,只是机械的“先到先得”。

9. 方案对比:除了关别名,还有别的办法吗?

方案
优点
缺点
关闭应用执行别名
最直接、一劳永逸
需要点几下鼠标,不够“极客”
修改 PATH 顺序,把 Conda 目录移到 WindowsApps 上面
不需要关闭别名,适合想保留别名的场景
某些系统更新后可能会重置 PATH;如果别名文件还在,系统依然会先找到它(因为 WindowsApps 路径即使位置靠后,只要文件存在且路径在 PATH 中,它依然会被搜索到——等等,不对,PATH 是从左到右的,你把 Conda 移到左边就可以。但我前面说 WindowsApps 通常在首位,所以移过来可以解决问题?实际上需要验证:如果 WindowsApps 路径在 PATH 的最前面,哪怕你把 Conda 路径移到它上面,系统还是会先找 WindowsApps。除非你把 WindowsApps 整个从 PATH 里删掉。但删除 WindowsApps 可能影响其他通过商店安装的工具(比如 winget)。所以不推荐。)
每次都使用完整路径
(如 C:\Users\...\Miniconda3\python.exe
绝对可靠
反人类,没人这么干
使用 py 命令
(如果安装了 Python Launcher)
官方推荐的替代方案
Conda 环境默认不注册到 py launcher,且 py 的行为与直接 python 有差异
创建一个别名(alias)在 PowerShell 配置文件中
灵活
只对 PowerShell 有效,cmd 无效;且需要在每台机器上配置

经过比较,关闭应用执行别名 是对大多数开发者最干净、最无副作用的方法。

10. 技术洞见:这个坑让我学到的三件事

洞见 1:操作系统设计的“默认值”从来不是为了开发者

Windows 的默认设置是为“最广大、最不懂技术的用户”服务的。开发者是少数派。每一次你觉得“这设计怎么这么蠢”时,试着换成普通用户的视角——就会明白为什么。

我以前总抱怨 Windows 在 PATH 里塞一堆乱七八糟的目录。后来我帮一个文科朋友配置 Python 环境,发现如果没有那个 Microsoft Store 弹窗,他根本不知道下一步该干嘛。我才意识到:我们觉得是障碍的东西,对某些人来说是救命稻草。

洞见 2:遇到“明明装了却找不到”的问题,第一个怀疑的不是 PATH,而是“有没有更早的拦截者”

这个排查思路可以迁移到很多地方:

  • Linux 上的 alias 可能覆盖了命令
  • 公司安全软件可能劫持了 DNS 或网络请求
  • 框架里的中间件可能拦截了你的请求

原理都一样:先到先得,优先级决定了谁被执行。

洞见 3:文档写的“修改环境变量”往往是过时的救命稻草

网上搜“python not found”,90% 的答案说“配置环境变量”。但在这个场景下,环境变量其实是正确的,问题出在另一个地方。这提醒我:不要盲目相信通用答案,要根据自己的具体情况(Conda 已安装、PATH 已存在但无效)去怀疑“有没有其他机制在覆盖默认行为”。

现在遇到类似问题,我会先执行 where <command> 看看系统到底找到了哪个文件。这比配置环境变量快十倍。

11. 实际开发意义:弄懂这个能帮你解决什么实际问题?

  • 快速修复任何 Python 环境切换问题:以后如果你安装了 Pyenv、Conda、原生 Python 等多个版本,发现 python 总指向不是你预期的那一个,你知道第一步该做什么:检查 PATH 顺序,并检查 WindowsApps 别名是否关闭。
  • 理解 Windows 命令执行机制:你学会了 where 和 Get-Command 的使用,这对排查其他命令(pipnodejava)同样有效。
  • 避免被网络上的过时教程误导:很多教程还在教“删掉 WindowsApps 文件夹”或“手动修改注册表”,实际上微软已经提供了正规的开关界面,跟着做更安全。
  • 面试或团队分享中体现深度:如果你能在团队内部分享这个“为什么 python 命令被劫持”的完整原理,而不是只说“关掉别名就行”,别人会觉得你真的理解 Windows 的设计哲学。

12. 自然化总结

回头看这个“python 命令失效”的问题,核心其实就两件事:

一是 Windows 的 PATH 查找规则——从左到右,找到第一个就停。二是微软为了小白用户加了一个“应用执行别名”的 stub,它恰好在 PATH 最前面。

我当时花四十分钟才搞明白,中间还怀疑过人生、怀疑过 Conda 是不是装坏了。

后来我养成了一个习惯:遇到任何命令行工具“明明装了却不能用”,先敲 where <命令> 看看系统找到的是哪个文件。这一步能省掉 80% 的排错时间。

最后说一句:这个设计对新手友好,但微软也确实留了后门——设置里那个开关,就是给我们开发者准备的。点一下,世界就清净了。

划重点:python 命令被重定向到 Microsoft Store 不是因为环境变量错了,而是 Windows 的“应用执行别名”功能在 PATH 中插入了一个优先级更高的占位文件。关闭别名 = 删掉占位文件 = 系统继续往后找到你真正的 Python。

最后看一下结果吧

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-03 12:16:42 HTTP/2.0 GET : https://f.mffb.com.cn/a/495392.html
  2. 运行时间 : 0.105563s [ 吞吐率:9.47req/s ] 内存消耗:4,654.70kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=7068b1a4e109acd2d21aa616d70d37be
  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.000751s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000795s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000346s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000290s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000518s ]
  6. SELECT * FROM `set` [ RunTime:0.000200s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000527s ]
  8. SELECT * FROM `article` WHERE `id` = 495392 LIMIT 1 [ RunTime:0.009953s ]
  9. UPDATE `article` SET `lasttime` = 1783052202 WHERE `id` = 495392 [ RunTime:0.015755s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000404s ]
  11. SELECT * FROM `article` WHERE `id` < 495392 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000680s ]
  12. SELECT * FROM `article` WHERE `id` > 495392 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000485s ]
  13. SELECT * FROM `article` WHERE `id` < 495392 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000919s ]
  14. SELECT * FROM `article` WHERE `id` < 495392 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000751s ]
  15. SELECT * FROM `article` WHERE `id` < 495392 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.002980s ]
0.107168s