乐于分享
好东西不私藏

理解MCP:AI如何统一调用外部工具

理解MCP:AI如何统一调用外部工具

💡 说明:本文为便于理解,会将流程描述为"AI发出请求""AI调用API"等。严格来说,AI模型本身不直接执行网络通信。实际执行的是AI运行所在的客户端环境(如应用程序、MCP客户端)。AI模型的作用是生成符合规范的请求指令,由客户端代为发送和接收。本文是对真实过程的简化,不影响对MCP核心概念的理解。




一、从对话到行动:工具调用的出现 🗣️➡️⚡

最早的大语言模型,做的事很简单:你问,它答。它的全部能力就是自己训练时学到的知识。


但很快人们发现一个问题:模型的知识是静态的、过时的。你问它今天的天气,它不知道;你让它查一下明天的航班,它做不到。


于是,一个重要的能力被加入了AI系统——工具调用 🛠️。它的核心思路是:



当AI遇到自己不知道的事情(比如实时天气),它可以输出一个"请求"——请外部系统帮我查一下杭州的天气。外部系统收到这个请求后,去调用真实的API(应用程序之间的通信接口),把结果返回给AI,AI再回答用户。



2023年6月,OpenAI率先推出了 Function Call 功能,Claude、Gemini等也陆续跟进。这个能力让AI从"只会聊天"变成了"可以行动" 🚀



📌 关于 Function Call 与 MCP 的关系,详见第十章。




二、新问题:调用方式太乱 🌀

工具调用解决了"AI能不能用工具"的问题,但很快暴露了下一个问题:调用方式不统一。


每个平台、每个模型,调用工具的格式都不一样:


🔧 A模型 → 输出 JSON 格式A
🔧 B模型 → 输出 JSON 格式B
🔧 C模型 → 输出 JSON 格式C

😵 每个API参数格式不同、认证方式不同、错误处理不同……

如果你想让AI调用你公司内部的10个工具,你可能要:



为 GPT 写一套集成逻辑

为 Claude 再写一套

为其他模型再写第三套


维护成本极高 💸



三、MCP的诞生:统一协议 🤝

2024年11月,Anthropic提出了 MCP(模型上下文协议) 📋


MCP是一个开放协议,并非Anthropic产品独占。任何AI模型(包括GPT、Gemini等)和任何工具都可以遵循这一标准进行集成。


它想做的事情很明确:给AI调用工具制定一套统一的标准。


就像 USB 统一了设备接口一样,MCP试图统一AI与外部工具的连接方式 🔌


┌──────────────────────────────────────────────┐
│ 有了 MCP 之后 │
│ │
│ AI 不需要知道: │
│ ❌ 每个工具的 API 地址 │
│ ❌ 每个工具的参数格式 │
│ ❌ 每个工具的认证方式 │
│ │
│ AI 只需要知道: │
│ ✅ 工具名 │
│ ✅ 按 MCP 标准格式发出请求 │
│ │
│ 剩下的 → MCP 服务器处理 ✨ │
└──────────────────────────────────────────────┘


四、一个绕不开的疑问 🤔

但这里有一个直觉性质疑:



MCP在AI和真实API之间多加了一层。多一层就意味着多一次转发、多一次封装、多一次解析。单次请求的效率不是降低了吗?



直接调用: AI ──────→ API ──────→ 结果 (少环节 ⚡)
MCP调用: AI ──→ MCP客户端 ──→ MCP服务器 ──→ API ──→ 结果 (多环节 🐢)

环节更多了,速度更慢了,那为什么还要用MCP?直接让AI调API不是更简单高效吗?


这个疑问是对的。接下来,我们对比两种方式的完整流程,然后回到这个问题,给出答案。



五、方式一:直接API调用(传统模式) 📡

当用户问"杭州今天天气怎么样?",直接API调用的流程如下:


① 用户
│ 提问:"杭州今天天气怎么样?"

② AI模型
│ 理解意图,决定调用工具
│ 输出函数调用指令:{"function":"get_weather","arguments":{"city":"杭州"}}

③ 开发者编写的客户端
│ 根据预先配置的 API 地址和密钥,发起真实 HTTP 请求

④ 外部 API
│ 天气 API 返回数据:{"condition":"晴","temp":26}

⑤ 开发者编写的客户端
│ 将结果回传给 AI

⑥ AI模型
生成自然语言回答:"杭州今天晴,26℃。" ☀️

🔑 关键特征:每个工具都需要开发者编写独立的调用代码(URL、参数、认证、解析)。



六、方式二:通过MCP调用 🔄

同样的用户问题,通过MCP调用的流程如下:


① 用户
│ 提问:"杭州今天天气怎么样?"

② AI模型
│ 理解意图,按 MCP 协议构造标准请求
│ 输出:{"method":"tools/call","params":{"name":"weather_api","arguments":{...}}}

③ MCP客户端(框架提供)
│ 将请求转发给 MCP 服务器

④ MCP服务器
│ 解析请求,查找工具注册表,找到真实 API 地址和密钥

⑤ MCP服务器
│ 发起真实 HTTP 请求

⑥ 外部 API
│ 天气 API 返回数据

⑦ MCP服务器
│ 将结果封装成 MCP 标准格式

⑧ MCP客户端
│ 将结果返回给 AI

⑨ AI模型
生成自然语言回答:"杭州今天晴,26℃。" ☀️

🔑 关键特征:工具在MCP服务器中注册一次,之后任何支持MCP的AI都可调用,无需重复编码。



七、两种方式的核心区别 ⚖️

┌─────────────────┬────────────────────┬────────────────────┐
│ 对比维度 │ 直接 API 调用 │ MCP 调用 │
├─────────────────┼────────────────────┼────────────────────┤
│ 谁存储密钥 │ 🔑 开发者客户端代码 │ 🔒 MCP 服务器配置 │
│ 谁执行HTTP请求 │ 👨‍💻 开发者编写的客户端 │ 🖥️ MCP 服务器 │
│ AI需要知道什么 │ 📝 函数名+参数说明 │ 📋 工具名+参数 │
│ 开发者需要做什么 │ 😫 每个工具写调用代码 │ 😊 注册一次工具配置 │
│ 工具变更时 │ 💥 改每个客户端+重部署 │ 🔄 只改服务器配置 │
│ 多个AI共享工具 │ ❌ 每个AI单独集成 │ ✅ 所有AI直接复用 │
│ 单次请求环节 │ ⚡ 6步 │ 🐢 9步 │
└─────────────────┴────────────────────┴────────────────────┘

📌 结论:MCP环节更多,单次请求的理论延迟更高。



八、为什么还要用MCP?(回应疑问) 💡

MCP不是为了优化单次请求的延迟,而是为了解决规模问题。


当工具数量少、调用简单时,直接调用足够;但当系统复杂到一定程度,MCP的优势就体现出来:


工具数量 ──────────────────────────→

少量工具 大量工具
┌──────────┐ ┌──────────────┐
│ 直接调用 │ → │ MCP 调用 │
│ ✅ 简单 │ │ ✅ 可维护 │
│ ✅ 快速 │ │ ✅ 安全 │
│ ✅ 延迟低 │ │ ✅ 易扩展 │
└──────────┘ └──────────────┘
↑ ↑
推荐 👍 推荐 👍

MCP解决的四个核心问题 🎯

1️⃣ 避免重复造轮子


几十个工具,每个AI应用都要为每个工具编写调用代码?MCP一次注册,所有AI共享。


没有 MCP: 有了 MCP:

AI-A ──→ 写调用代码 ──→ 工具1 AI-A ──┐
AI-B ──→ 写调用代码 ──→ 工具1 AI-B ──┼──→ MCP服务器 ──→ 工具1
AI-C ──→ 写调用代码 ──→ 工具1 AI-C ──┘ ↑
😫 重复3次! ✅ 注册1次!

2️⃣ 工具变更不求人


API地址改了?直接调用需要改所有客户端代码;MCP只需改服务器配置,所有AI自动生效 🔄


3️⃣ 安全集中管控


没有 MCP: 有了 MCP:

🔑 密钥散落在无数客户端 🔒 密钥集中存储在服务器
⚠️ 泄露风险高 ✅ AI和客户端都接触不到
❌ 难以统一控制权限 ✅ 统一控制权限
❌ 无法记录调用日志 ✅ 完整调用日志审计

4️⃣ 跨模型复用


同时使用GPT、Claude、Gemini?没有MCP时,每个模型都要单独集成。有MCP,一套服务器服务所有模型 🌐


🌐 一个类比:DNS

互联网早期,你要访问网站需要记住IP地址(如 93.184.216.34)。直接输入IP最快,但你能记住几个?


DNS增加了解析层,让你输入 example.com 即可——多了毫秒级延迟,但换来了无限扩展能力。


输入 IP 地址 → 最快 ⚡ 但记不住 🤯

DNS 解析 → 多一层 🔄 但好记 😊 可扩展 📈

MCP 也是如此 → 多一层 🔄 但统一 🤝 可扩展 📈

MCP就是AI世界的DNS。 🌍



九、如何选择? 🧭


🏠 个人项目,1-2个稳定工具 → 直接API调用 —— 简单、快速、延迟低

🏢 企业内部,几十个工具 → MCP —— 可维护、安全、易扩展

🔁 工具频繁变更 → MCP —— 不用修改每个AI应用

🤖 多个AI需要共享工具 → MCP —— 一次配置,到处使用

🔐 需要权限控制和审计 → MCP —— 集中管理,可审计


你的场景是?

├── 工具少(1-2个)且稳定 ──→ 直接调用 ✅

└── 以下任一条件满足 ─────→ MCP ✅
├── 工具多(10+)
├── 工具经常变
├── 多个AI共享
└── 需要安全审计


十、补充:Function Call 是什么? 📚

你可能还听过 Function Call,它和MCP是什么关系?


Function Call 是直接API调用的一种实现模式,由OpenAI在2023年6月率先提出。它的流程是:



模型输出结构化的函数调用指令(如 {"function":"get_weather","arguments":{...}})

开发者客户端收到指令后,自己写代码去调用真实API

客户端把API返回结果再送回模型


本质上,Function Call 仍属于"直接API调用"——模型的输出格式被标准化了,但每个工具的调用逻辑仍需开发者手动编写。


而 MCP 更进一步,把整个调用链全部标准化,开发者不再需要为每个工具编写调用代码。


关系简图:


🏗️ 工具调用(设计模式)

├── 📡 直接API调用(传统方式)
│ → 开发者需编写每个工具的调用代码
│ │
│ └── 📋 Function Call(输出格式标准化)
│ → 模型输出格式统一了,但调用逻辑仍需手写

└── 🔌 MCP调用(标准化协议)
→ 从请求到执行到返回,全链路标准化
→ 工具一次注册,AI直接调用 ✨


写在最后 ✍️

MCP不是银弹。它增加了一层抽象,付出了延迟的代价。但它解决了一个真实的问题:当工具多起来、系统大起来、AI多起来之后,统一协议带来的可维护性和安全性,远超那毫秒级的损失。


理解MCP的核心,就是记住四点:


┌─────────────────────────────────────────┐
│ │
│ 🔌 它是什么:统一AI调用外部工具的开放协议 │
│ │
│ 🚫 它不是什么:不是工具本身, │
│ 而是调用工具的规范 │
│ │
│ ✅ 解决了什么:多工具场景下的 │
│ 统一性、可维护性、安全性 │
│ │
│ ⚖️ 付出了什么:单次请求多一层转发, │
│ 延迟略高 │
│ │
└─────────────────────────────────────────┘

选择哪种方式,取决于你的场景。如果你的系统只有一个工具且不常变更,直接调用完全足够;如果你的系统正在变得复杂,MCP可能是你需要的那个"统一接口" 🔌



本文旨在帮助普通用户理解MCP的核心概念,不涉及具体的代码实现和部署细节。

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-05-31 06:14:32 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/686813.html
  2. 运行时间 : 0.165576s [ 吞吐率:6.04req/s ] 内存消耗:4,762.05kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=a9bb43cfa42327e01b492605b3ceeaef
  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.000694s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000822s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000407s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000291s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000603s ]
  6. SELECT * FROM `set` [ RunTime:0.000254s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000611s ]
  8. SELECT * FROM `article` WHERE `id` = 686813 LIMIT 1 [ RunTime:0.002108s ]
  9. UPDATE `article` SET `lasttime` = 1780179272 WHERE `id` = 686813 [ RunTime:0.025151s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000370s ]
  11. SELECT * FROM `article` WHERE `id` < 686813 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000518s ]
  12. SELECT * FROM `article` WHERE `id` > 686813 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001242s ]
  13. SELECT * FROM `article` WHERE `id` < 686813 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.004523s ]
  14. SELECT * FROM `article` WHERE `id` < 686813 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000673s ]
  15. SELECT * FROM `article` WHERE `id` < 686813 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.001009s ]
0.169563s