当前位置:首页>python>2026年嵌入式开发趋势:Python 正在重塑嵌入式开发

2026年嵌入式开发趋势:Python 正在重塑嵌入式开发

  • 2026-03-27 13:44:57
2026年嵌入式开发趋势:Python 正在重塑嵌入式开发

2026年嵌入式开发趋势:Python 正在重塑嵌入式开发


01|开篇:别再只会写C语言了,Python已经杀进嵌入式了

上个月,一个做嵌入式的朋友找我吐槽,说他最近接了个项目,要求快速原型开发,本来想用C语言写,结果发现光是搭环境、写驱动、调通信就花了两周,还没开始写业务逻辑。

后来我建议他试试MicroPython,你猜怎么着?他用了三天就把原型跑起来了,代码量还减少了70%。

他跟我说的时候,语气里都是那种"早知道这么好用,我之前死磕C语言干嘛"的后悔。

说实话,这种感受我太懂了。前几年我也觉得,嵌入式开发不就是C语言的天下吗?Python那玩意儿,写写脚本还行,跑在嵌入式设备上?别开玩笑了,性能肯定不行,内存肯定不够用。

结果呢?这两年我用MicroPython做了好几个项目,脸被打得啪啪响。

今天这篇文章,我想跟你好好聊聊:Python到底是怎么杀进嵌入式领域的?什么时候该用Python,什么时候该用C/C++?MicroPython实战到底怎么玩?


02|为什么Python能在嵌入式领域立足?

先说说MicroPython到底是什么。简单说,就是一个精简版的Python 3解释器,专门为微控制器设计的,能跑在只有几十KB内存的MCU上。

第一次听说MicroPython的时候,我心里是打问号的:Python那么占内存,怎么可能跑在单片机上?

后来我查了一下数据,才发现自己真是孤陋寡闻。MicroPython的核心解释器,最小编译配置下只需要64KB Flash16KB RAM,这是什么概念?就是一个普通的STM32F103C8T6(那款传说中的"蓝色药丸"开发板)就能轻松跑起来。

那为什么MicroPython能做得这么小?主要是做了这些取舍:

  • 砍掉了Python标准库中不适合嵌入式的部分(比如多线程、网络库的完整版)
  • 用C语言重写了性能敏感的模块
  • 提供了硬件直接访问的API,可以直接操作寄存器、GPIO、定时器这些

你别说,这种"有所为有所不为"的思路,反而让MicroPython在嵌入式领域找到了自己的位置。

再说说开发效率的对比,这个我真的有发言权。

去年我做过一个项目,需要读取一个温度传感器的数据,通过WiFi上传到服务器,还要做一个简单的Web配置界面。

第一次用C语言做,光是:

  • 配置GPIO和I2C通信读传感器
  • 移植WiFi驱动和TCP/IP协议栈
  • 写HTTP服务器和Web界面
  • 调试各种内存泄漏和栈溢出

前前后后花了我三周时间,代码写了快2000行,中间还踩了无数个坑。

后来项目要迭代,我干脆用MicroPython重写了一遍,你猜用了多久?

三天!代码量400行不到,而且逻辑清晰得多,可读性特别好。

那次之后我就明白一个道理:不是所有嵌入式项目都需要极致的性能和最小的资源占用,很多时候,开发效率才是最重要的

而且MicroPython的生态现在真的越来越好了。你想读写个传感器?有现成的库。想连个WiFi?有现成的库。想用个显示屏幕?有现成的库。不用再像以前那样,每个项目都要从0开始写驱动,重复造轮子的时间省下来,都能多做几个项目了。


03|什么时候选Python,什么时候选C/C++?

这肯定是你最关心的问题:Python好是好,但总不能所有项目都用Python吧?

确实,Python不是万能的,得看场景。我给你总结了一张表,帮你快速判断:

场景
推荐用Python
推荐用C/C++
快速原型开发
✅ 首选
❌ 太慢
教学、演示、DIY
✅ 首选
❌ 太复杂
自动化测试、数据处理
✅ 首选
❌ 效率低
需要连接云端、Web界面
✅ 优先考虑
⚠️ 可以但麻烦
极致性能要求(如高频采样)
❌ 不行
✅ 必须用
超低成本MCU(如<8KB RAM)
❌ 跑不起来
✅ 必须用
硬实时要求(如工业控制)
❌ 不太行
✅ 必须用
量产产品,成本敏感
⚠️ 看情况
✅ 优先考虑

不过我想多说一句:现在很多项目其实是混合开发的,Python做应用层,C/C++做底层,这才是最佳实践。

比如我之前做的一个工业数据采集项目:

  • 底层用C语言写高速数据采集驱动(采样率1MHz,这个Python确实搞不定)
  • 中间层用MicroPython做数据处理、网络传输、Web配置
  • 既保证了性能,又获得了开发效率

这种组合,真的香!


04|MicroPython 实战:从0到1写一个项目

说了这么多理论,不如直接来个实战。今天我带你用MicroPython做一个最简单的项目:读一个DHT11温湿度传感器,把数据显示在OLED屏幕上。

别担心,即使你是第一次用MicroPython,跟着我一步步来,肯定能跑通。

第一步:准备硬件

你需要这些东西:

  • 一块支持MicroPython的开发板(我推荐ESP32,性价比高,功能强)
  • 一个DHT11温湿度传感器
  • 一个0.96寸的I2C OLED屏幕(128x64分辨率)
  • 几根杜邦线
  • 一根USB数据线

ESP32真的是新手入门的最佳选择,二三十块钱,有WiFi有蓝牙,性能还强,最重要的是MicroPython对它的支持特别完善。

第二步:刷入MicroPython固件

这步其实很简单,比你想象的容易多了。

  1. 先去MicroPython官网下载ESP32的固件:https://micropython.org/download/ESP32_GENERIC/[1]
  2. 下载一个叫esptool.py的工具,用Python安装就行:pip install esptool
  3. 把ESP32用USB连上电脑
  4. 擦除原有固件:esptool.py --chip esp32 --port /dev/ttyUSB0 erase_flash(Windows下端口是COMx)
  5. 刷入新固件:esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 460800 write_flash -z 0x1000 esp32-20240222-v1.22.2.bin

就这么几步,MicroPython就刷好了!是不是比你想象的简单?

第三步:连接硬件

接线其实也不难,按照这个来:

DHT11 接线:

  • VCC → 3.3V
  • GND → GND
  • DATA → GPIO4

OLED 接线(I2C):

  • VCC → 3.3V
  • GND → GND
  • SDA → GPIO21
  • SCL → GPIO22

接好线之后,建议你用万用表检查一下有没有接反,特别是电源,接反了可能会烧东西,这个坑我踩过,别学我。

第四步:写代码

终于到了写代码的时候了!MicroPython的代码,真的比C语言简洁太多了。

你需要先安装一个IDE,我推荐Thonny,免费开源,对新手特别友好,还自带串口终端。

打开Thonny,把解释器选择为"MicroPython (ESP32)",然后就可以写代码了。

这是完整的代码,你可以直接复制:

from machine import Pin, I2Cimport dhtimport ssd1306import time# 初始化DHT11传感器dht_sensor = dht.DHT11(Pin(4))# 初始化I2C和OLED屏幕i2c = I2C(0, scl=Pin(22), sda=Pin(21))oled = ssd1306.SSD1306_I2C(12864, i2c)# 清屏oled.fill(0)oled.show()print("开始读取温湿度数据...")whileTrue:try:# 读取传感器数据        dht_sensor.measure()        temp = dht_sensor.temperature()        hum = dht_sensor.humidity()# 在串口打印数据print(f"温度: {temp}°C, 湿度: {hum}%")# 在OLED屏幕上显示        oled.fill(0)        oled.text("Temperature:"00)        oled.text(f"{temp} C"016)        oled.text("Humidity:"032)        oled.text(f"{hum} %"048)        oled.show()except Exception as e:print(f"读取失败: {e}")        oled.fill(0)        oled.text("Read Error!"00)        oled.show()# 等待2秒再读    time.sleep(2)

怎么样?这代码是不是特别清晰?每一行在做什么,一眼就能看出来。

第五步:运行代码

在Thonny里点击"运行"按钮,或者按F5,代码就会上传到ESP32并运行了。

如果一切正常,你应该能看到:

  • 串口终端在打印温湿度数据
  • OLED屏幕上显示着温度和湿度

第一次看到自己写的代码在硬件上跑起来的时候,那种成就感,真的是太棒了!

避坑指南:我踩过的那些坑

写这篇文章的时候,我特意回忆了一下自己刚学MicroPython时踩过的坑,给你列出来,希望你别再踩:

  1. 电源问题:很多时候代码写得没问题,但硬件就是不工作,大概率是电源没供好。DHT11对电源还是有点敏感的,最好用3.3V,别用5V。

  2. GPIO选择:ESP32的有些GPIO是启动时用于配置的,别乱用,建议先查一下ESP32的GPIO使用指南。

  3. 时序问题:DHT11的通信时序要求还是比较严的,如果你用的是其他开发板,可能需要调整一下时序参数。

  4. 内存问题:虽然MicroPython很省内存,但如果你的代码里有内存泄漏(比如不断创建大对象不释放),时间长了还是会出问题。


05|Python 嵌入式开发的最佳实践

既然要讲,那就讲透点。我给你分享几个我总结出来的Python嵌入式开发最佳实践。

性能优化:如何让Python代码跑得更快?

很多人担心Python在嵌入式上性能不够,其实只要方法得当,性能完全够用。

这几个优化技巧,都是我亲测有效的:

  1. 尽量用内置模块:MicroPython的内置模块都是用C语言写的,速度特别快,比如machinetime这些,能用就用。

  2. 避免频繁的内存分配:在循环里尽量不要创建新对象,最好在循环外创建好,循环里只更新值。

  3. 用数组代替列表:如果要存大量数字,用array.array代替普通的列表,内存占用更小,访问速度更快。

  4. 关键部分用C写:如果真的有性能瓶颈,可以把那部分用C语言写成扩展模块,然后在Python里调用。

内存管理:MicroPython的内存限制和应对策略

MicroPython的内存确实比PC上的Python小得多,所以写代码的时候得有点意识。

这几个方法能帮你省内存:

  1. 及时释放不用的对象:用del删除不用的变量,或者让变量超出作用域。

  2. gc.collect()手动垃圾回收:在合适的时机(比如主循环的末尾)手动调用一下垃圾回收,能让内存使用更稳定。

  3. 避免加载整个库:如果只用库的一个函数,就只导入那个函数,别导入整个库。

  4.  micropython.mem_info() 查看内存使用情况:这个函数能帮你了解内存都用在哪儿了,方便优化。

调试技巧:print调试、日志、错误处理

调试嵌入式代码,说实话,比调试PC上的代码麻烦点,因为没有那么方便的调试器。不过只要方法得当,还是能高效调试的。

  1. print调试永远是王道:别小看print,在嵌入式开发里,print真的是最实用的调试方法。把关键变量的值打出来,把程序执行到哪儿了打出来,很多问题一下就清楚了。

  2. 写个简单的日志模块:可以封装一下print,加上时间戳和日志级别,比如DEBUG、INFO、WARNING、ERROR,这样日志更清晰。

  3. 用好异常处理:MicroPython支持完整的异常处理,try-except一定要用好,别让程序因为一个小错误就直接挂了。

  4. 用好REPL:MicroPython的REPL(交互式解释器)真的特别好用,可以直接输入代码测试,不用每次都上传整个文件。

代码组织:模块化、可维护性

代码写得多了,就会发现,代码组织得好不好,直接影响开发效率和维护成本。

这几个建议,都是我的经验之谈:

  1. 按功能分模块:把不同功能的代码分成不同的文件,比如sensor.py放传感器相关的代码,display.py放显示相关的代码。

  2. 写好注释和文档字符串:别觉得写注释浪费时间,等你过几个月再回来看自己的代码,就会感谢当初写注释的自己。

  3. 用配置文件:把硬件引脚、网络配置这些可变的东西放在配置文件里,别硬编码在代码里,改起来方便。

  4. 版本控制一定要用:Git真的是个好东西,即使是一个人开发,也建议用Git,能随时回退,能看到修改历史。


06|未来展望:Python 在嵌入式中的发展趋势

说了这么多现在,我也想跟你聊聊未来。我个人觉得,Python在嵌入式领域的发展,才刚刚开始。

这几个趋势,我觉得特别值得关注:

第一个趋势是TinyML + MicroPython。现在边缘AI越来越火,TensorFlow Lite for Microcontrollers已经能在很小的MCU上跑机器学习模型了,而MicroPython和TinyML的结合,能让AI嵌入式开发的门槛大大降低。

想想看,用Python写个图像识别或者语音识别的应用,直接跑在ESP32上,这在几年前想都不敢想,但现在已经可以实现了。

第二个趋势是WebAssembly + MicroPython。WebAssembly(Wasm)现在特别火,它能让代码在不同的平台上高效运行。如果能把Wasm带到MicroPython里,那很多现有的库就能很容易地移植到嵌入式平台了。

第三个趋势是生态的进一步完善。这两年我能明显感觉到,用MicroPython的人越来越多了,社区也越来越活跃。用的人多了,库自然就多了,工具自然就好用了,这是一个正向循环。


结尾|行动起来:今天就试试MicroPython

回顾一下,今天跟你聊了这么多:

  • Python是怎么杀进嵌入式领域的,MicroPython的技术原理
  • 什么时候该用Python,什么时候该用C/C++,还有混合开发的最佳实践
  • 一个完整的MicroPython实战项目,从硬件准备到代码实现
  • Python嵌入式开发的最佳实践,性能优化、内存管理、调试技巧、代码组织
  • 未来的发展趋势,TinyML、WebAssembly这些值得关注的方向

说实话,我知道有些朋友可能还是会有顾虑:Python性能行不行?内存够不够用?出了问题好不好解决?

这些顾虑我都理解,因为当初我也有过。但我想跟你说:别光想,试试看

找个周末,买一块ESP32开发板,花几个小时,跟着我今天的教程,把那个温湿度项目跑起来。当你看到自己写的Python代码在硬件上跑起来的时候,那种成就感,真的会让你上瘾。

而且,即使最后你发现Python不适合你的项目,那又怎么样?多学一个技能,多了解一种思路,对你来说只有好处,没有坏处。

最后,如果你在学习MicroPython的过程中遇到了什么问题,欢迎在评论区留言,我们一起讨论。

我也会在这个公众号里,持续分享更多嵌入式开发的实战内容,包括Python的,也包括C/C++的,还有FreeRTOS、嵌入式Linux这些。

关注我,我们一起,在嵌入式开发的路上,越走越远。

好了,今天的文章就到这里。如果觉得对你有帮助,别忘了点个「在看」,让更多的朋友看到。

我们下篇文章见!

引用链接

[1]https://micropython.org/download/ESP32_GENERIC/

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-03-27 20:52:05 HTTP/2.0 GET : https://f.mffb.com.cn/a/483291.html
  2. 运行时间 : 0.235067s [ 吞吐率:4.25req/s ] 内存消耗:5,157.96kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=a319c8e75851d0d9348b85eddc7bfa05
  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.001347s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001760s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000714s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000772s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001521s ]
  6. SELECT * FROM `set` [ RunTime:0.000611s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001688s ]
  8. SELECT * FROM `article` WHERE `id` = 483291 LIMIT 1 [ RunTime:0.001140s ]
  9. UPDATE `article` SET `lasttime` = 1774615925 WHERE `id` = 483291 [ RunTime:0.025141s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000745s ]
  11. SELECT * FROM `article` WHERE `id` < 483291 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001105s ]
  12. SELECT * FROM `article` WHERE `id` > 483291 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001137s ]
  13. SELECT * FROM `article` WHERE `id` < 483291 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.007821s ]
  14. SELECT * FROM `article` WHERE `id` < 483291 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.007765s ]
  15. SELECT * FROM `article` WHERE `id` < 483291 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.015722s ]
0.239660s