乐于分享
好东西不私藏

RealPLC AI集成CODESYS实现编程和验证闭环!无需任何费用!

RealPLC AI集成CODESYS实现编程和验证闭环!无需任何费用!

我们把产品层面统一成 RealPLC Agent,但运行时必须保持“强独立”。我不建议把 TIA、CODESYS 代码合并进一个大进程,也不建议安装两个完全重复、各自连接云端的 Agent。

最佳形态是:

一个 RealPLC Agent Core + 独立 Connector + 一次性验证 Worker

这样既有统一的用户体验,又能做到 TIA、CODESYS、后续 OEM 在故障、权限、升级和配置上的真正隔离。

一、参考主流 Agent 得出的设计原则

主流方案
值得采用的机制
RealPLC 对应设计
HashiCorp Plugin
插件作为独立子进程,通过 RPC/gRPC 通信;支持协议版本、校验和,插件崩溃不会拖垮 Host。官方项目[1]
Connector 必须是进程外组件,不能 DLL 内嵌
Azure Arc Agent
一个产品下拆分连接、身份、配置、扩展管理等多个服务。官方架构[2]
Core 负责连接和身份,Connector 负责 OEM
Elastic Agent/Fleet
一台机器注册一个 Agent,由它集中管理多个组件、策略、状态、日志和升级。Fleet[3]组件模型[4]
一台电脑只配对一次,但每个 OEM 独立运行
OpenTelemetry Collector
组件只有加入 pipeline 才启用,并支持自定义发行包。配置[5]自定义发行版[6]
Connector 安装不等于启用,由用户和策略显式开启
GitHub Actions Runner
推荐一次性、单任务 Worker,任务结束清理环境并外送日志。官方说明[7]
每次闭环验证启动独立 Worker,结束后销毁

RealPLC 应吸收的是这些产品共同的成熟模式,不必照搬它们的技术栈。

二、推荐的最终架构

RealPLC Cloud
│ HTTPS / WebSocket,唯一云端连接
┌────────────────────────────────────┐
│ RealPLC Agent Core                 │
│ 配对、身份、任务队列、策略、审批、升级、审计 │
└─────────────────┬──────────────────┘
│ 本机 Named Pipe / gRPC
┌───────┴────────┐
▼                ▼
┌────────────────┐  ┌──────────────────┐
│ TIA Connector  │  │ CODESYS Connector│
│ 独立进程/版本   │  │ 独立进程/版本     │
└───────┬────────┘  └─────────┬────────┘
▼                     ▼
TIA Job Worker         CODESYS Job Worker
每个任务启动一次        每个任务启动一次
│                     │
TIA Openness       CODESYS ScriptEngine / Win PLC

再增加一个当前 Windows 用户下运行的:

RealPLC Session Broker

它负责启动必须运行在用户桌面会话、访问用户安装目录或用户许可证的 OEM Worker。Core 本身作为 Windows Service 常驻,不直接加载 TIA 或 CODESYS SDK。

这样可以直接使用用户已有的软件和许可证,不引入额外授权成本。

三、组件应该怎样命名

用户看到的产品名称只有:

RealPLC Agent

内部及诊断界面显示:

RealPLC Agent Core
RealPLC Session Broker
Connector for Siemens TIA Portal
Connector for CODESYS
后续 Connector for Rockwell Studio 5000
后续 Connector for Beckhoff TwinCAT

不建议都叫“Agent”,否则用户会误以为需要安装、配对、维护很多 Agent。专业产品通常是一个 Agent 管理多个 Integration/Connector。

四、“独立”需要达到什么程度

TIA 与 CODESYS 至少要在以下方面独立:

独立可执行进程
独立安装包和版本号
独立启用/禁用
独立配置文件
独立日志目录
独立健康状态
独立任务队列和并发锁
独立升级、回滚
独立崩溃重启和熔断
独立临时工作目录
卸载 CODESYS Connector 不影响 TIA
更新 TIA Connector 不要求 Agent Core 同时更新

但以下能力应当共享:

用户配对
云端连接
任务拉取
审批流程
本机身份
更新签名验证
审计日志
UI 外壳
统一验证结果模型

这正是“用户体验统一、运行时强隔离”。

五、Connector 协议

不应该继续在 Core 里增加这种分支:

if (action == "codesys_validate") { ... }
if (action == "tia_compile") { ... }

应该建立一个稳定的 RealPLC Connector Protocol,每个 Connector 实现同一组生命周期接口:

Handshake()
GetCapabilities()
Diagnose()
ExecuteJob()
StreamEvents()
CancelJob()
GetHealth()
Shutdown()

Capabilities 建议包含:

{
"connectorId": "codesys",
"connectorVersion": "1.0.0",
"protocolVersion": "realplc.connector.v1",
"detectedProducts": [
{
"product": "CODESYS",
"version": "3.5.18",
"edition": "Standard"
}
],
"operations": [
"project.import",
"project.compile",
"runtime.download",
"runtime.start",
"test.execute"
],
"runtimeBackends": [
"Win V3 x64",
"Control Win V3 x64 SoftMotion"
],
"maxConcurrency": 1
}

Core 至少兼容当前和上一个 Connector 协议版本,避免一次升级牵动所有组件。

六、MCP 应放在哪一层

MCP 不建议作为 Core 与 Connector 之间的内部总线。

推荐位置是:

AI / 大模型
│ MCP
RealPLC MCP Adapter
RealPLC Agent Core
Connector

原因是:

MCP适合工具发现和 AI 调用。
Connector 内部需要严格的任务状态、超时、取消、事件流、二进制工件和协议兼容。
本机内部使用 Named Pipe + gRPC/JSON-RPC 更可控。
MCP Adapter 可以是可选组件,不影响没有 AI 集成的用户。

GitHub 上开源的 CODESYS MCP 项目可以继续参考或复用,但应当包在 CODESYS Worker 内部,固定版本、审计源码和许可证,不要让它直接拥有 Agent 云端令牌或者绕过审批策略。

七、Worker 应当一次一任务

Connector 是长生命周期的监督进程,真正操作 OEM 软件的是一次性 Worker。

例如一次 CODESYS 验证:

1.
Core 接收 codesys.validate.project
2.
检查 Connector 能力和用户策略。
3.
创建只属于本任务的临时目录。
4.
校验输入文件 SHA-256。
5.
启动 CODESYS Worker。
6.
导入单个 ST 或完整工程。
7.
编译。
8.
下载至 Win V3 x64/SoftMotion 仿真 PLC。
9.
启动运行时并执行 TestSpec。
10.
收集变量轨迹、编译信息和测试结果。
11.
停止 Worker 及其所有子进程。
12.
检查原始工程文件未被修改。
13.
上传结构化结果并清理临时目录。

每个 Worker 放入 Windows Job Object,设置:

最大运行时间
取消时终止整个进程树
内存和子进程限制
独立临时目录
标准输出和错误输出重定向
心跳超时

CODESYS 与 TIA 可以并行,但同一个软件版本默认并发数为 1,避免 IDE、许可证和工程缓存发生冲突。

八、安全边界

建议遵循以下规则:

只有 Core 保存云端配对密钥。
Connector 永远看不到云端 Token。
Connector 默认不能直接访问外网。
Core 与 Connector 只通过带 ACL 的 Named Pipe 通信。
Pipe 只允许 Core Service SID 和当前用户 SID。
Connector 包必须有签名 Manifest 和 SHA-256。
原始工程只读,验证使用副本。
编译、仿真、Win PLC 下载无需审批。
真实 PLC 下载、写变量、启动/停止设备必须审批。
首版真实 PLC 能力默认关闭。
Connector 连续崩溃后进入 quarantined,不无限重启。
每项高风险能力必须在 Capability 中明确声明。

Connector 状态建议统一为:

未安装
已禁用
正在检测
需要配置
就绪
忙碌
异常降级
已隔离
需要升级
等待用户会话

九、UI 应怎样呈现

设置页面建议调整为:

RealPLC Agent
├─ 概览
├─ 连接与配对
├─ 集成
│  ├─ Siemens TIA Portal
│  ├─ CODESYS
│  └─ 添加集成
├─ 任务
├─ 审批
├─ 日志与诊断
└─ 更新

“集成”页面每个 Connector 都是独立卡片:

CODESYS
状态:就绪
Connector:1.0.0
检测到:CODESYS 3.5 SP18
仿真目标:Win V3 x64
上次验证:2 分钟前,成功
队列:0
[配置] [运行诊断] [查看日志] [禁用]

TIA 和 CODESYS 设置必须完全分开。一个 Connector 异常时,另一个仍显示真实状态并可继续执行任务。

ST 生成后的页面应增加明确的闭环阶段:

生成 ST
→ 静态检查
→ 正在等待 CODESYS Connector
→ 正在编译
→ 正在下载 Win PLC
→ 正在运行 TestSpec
→ 验证通过/验证失败

不能只生成 _UNVALIDATED.st 后结束。

最终建议

我建议正式确定为:

RealPLC Agent 是统一的设备侧控制面;每个 OEM 是独立、进程外、可单独升级的 Connector;每个验证任务由一次性 Worker 执行。

首版采用:

单机一个 RealPLC Agent Core
单活动 Windows 用户 Session Broker
独立 TIA Connector
独立 CODESYS Connector
独立设置、状态、日志和升级
CODESYS 默认使用 SP18 + Win V3 x64
SoftMotion 作为可选 Runtime Profile
真实 PLC 默认关闭并需要审批
MCP 只作为可选的 AI 接口层

我们目前还在内部测试中,敬请关注RealPLC!

[1] 官方项目:https://github.com/hashicorp/go-plugin
[2] 官方架构:https://learn.microsoft.com/en-us/azure/azure-arc/servers/agent-overview
[3] Fleet:https://www.elastic.co/docs/reference/fleet/manage-elastic-agents-in-fleet
[4] 组件模型:https://www.elastic.co/docs/reference/fleet/agent-command-reference
[5] 配置:https://opentelemetry.io/docs/collector/configuration/
[6] 自定义发行版:https://opentelemetry.io/docs/collector/distributions/
[7] 官方说明:https://docs.github.com/en/actions/reference/runners/self-hosted-runners
基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-08-22 20:46:28 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/959329.html
  2. 运行时间 : 0.364305s [ 吞吐率:2.74req/s ] 内存消耗:4,929.58kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=1cc0c827d3b0ad74da4c524a6ab51b84
  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 ( 4.22 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 ( 10.56 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.11 KB )
  136. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  137. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  138. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  139. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  140. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  141. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/runtime/temp/c935550e3e8a3a4c27dd94e439343fdf.php ( 31.50 KB )
  142. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  143. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  144. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  145. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.001068s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001532s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000721s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000689s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001332s ]
  6. SELECT * FROM `set` [ RunTime:0.000638s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001508s ]
  8. SELECT * FROM `article` WHERE `id` = 959329 LIMIT 1 [ RunTime:0.000984s ]
  9. UPDATE `article` SET `lasttime` = 1787402788 WHERE `id` = 959329 [ RunTime:0.073133s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000613s ]
  11. SELECT * FROM `article` WHERE `id` < 959329 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001098s ]
  12. SELECT * FROM `article` WHERE `id` > 959329 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.013854s ]
  13. SELECT * FROM `article` WHERE `id` < 959329 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.001973s ]
  14. SELECT * FROM `article` WHERE `id` < 959329 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.066519s ]
  15. SELECT * FROM `article` WHERE `id` < 959329 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.005311s ]
0.368213s