当前位置:首页>Linux>同一台手机刷 Linux:Droidian 和 postmarketOS,根本不是同一种"快"

同一台手机刷 Linux:Droidian 和 postmarketOS,根本不是同一种"快"

  • 2026-08-19 09:51:00
同一台手机刷 Linux:Droidian 和 postmarketOS,根本不是同一种"快"

一条路线先接住 Android 留下的驱动与 BSP,让旧机尽快工作;另一条路线试图把驱动推回 Linux 主线,为设备争取十年后的维护资格。两者表面是发行版之争,底层却是两张完全不同的硬件账本。


我们最近把 Redmi Note 7 跑起了 Droidian:亮屏,进入 Phosh 桌面,拿到一个 Debian 系用户空间。对于一部 2019 年的 Android 手机,这很像获得第二次生命。

可一旦把问题从“能否开机”推进到“能否做成终端”,答案会立刻变复杂:通话是不是可靠?待机是否够一天?相机是不是稳定取流?OTA 能否回滚?运营商换一张卡会不会失效?

Droidian 与 postmarketOS 的差异,不在图标长得像不像手机,而在它们如何取得这些硬件能力、又由谁在未来为它们负责。

Droidian 的问题是:能否尽快把既有 Android 硬件组织成 Linux 终端?
postmarketOS 的问题是:十年后,能否不靠原厂 BSP 继续维护这台终端?

一、先把“移动 Linux”拆开:你到底换掉了什么?

手机不是一块普通 ARM 开发板。屏幕、触控、GPU、ISP、基带、音频 DSP、充电、传感器和低功耗状态,通常由芯片厂、ODM、品牌和运营商共同缝合;其中大量代码与固件只在 Android BSP 里可用。

因此“刷上 Linux”至少有三种完全不同的含义:

层级
你看到的变化
真正的难题
用户空间
Phosh、Plasma Mobile、Sxmo;终端、浏览器、软件包管理器。
这是最容易替换的一层,不代表硬件完成。
硬件服务层
显示、音频、相机、蜂窝、定位、蓝牙开始“能用”。
需要连接 Android HAL/vendor,或把驱动与协议重新实现为 Linux 原生路径。
内核与固件层
睡眠唤醒、热管理、GPU、调制解调器、ISP 的真实行为。
决定性能、续航、可靠性、安全更新与可维护年限。

所以,桌面跑起来是必要条件,却是移动 Linux 产品化的最早一关。

Droidian 的主路线是通过 Halium/libhybris 复用 Android 内核、vendor 与 HAL;其背后运行经过裁剪的 Android 环境以调用硬件服务。postmarketOS 的主路线则是 upstream-first:尽量使用上游 Linux 内核与开放用户空间,并把主线化程度纳入设备分级。两边都可能出现例外,但工程重心确实不同。[1] [2]

二、总览:不是谁“更强”,而是谁把难题放在今天或以后

维度
Droidian
postmarketOS
系统底座
Debian 系用户空间,常与 Mobian/Phosh 软件栈协同;软件包以 APT/.deb 为主。
Alpine Linux 用户空间;软件包以 apk 为主,可选择 Phosh、Plasma Mobile、GNOME Mobile、Sxmo 等。
硬件策略
优先调用 Android BSP 的下游内核、vendor 分区与硬件 HAL。
优先上游内核与通用驱动;downstream 端口允许存在,但定位为过渡。
移植起点
Android 9+、Treble/GSI 与既有 Halium 适配可显著减少前期工作;但原厂 kernel 仍须改造。
从内核、设备树、firmware、驱动与用户空间服务逐项建立;主线化后的复用价值更高。
短期优势
对“已有可工作的 Android 硬件”更务实,显示、蜂窝、专有多媒体链路有机会更快被复用。
系统轻量、可选界面多;上游化成功后,内核与安全修复不必等待原厂回头。
长期代价
受 Android vendor、内核版本、HAL、RIL/IMS 与分区组合锁定;升级常是兼容性工程。
前期最难的是补齐专有链路:相机 ISP、VoLTE、功耗、DSP/GPU 等常需多年积累。
正确评价单位
“某机型 + 某 vendor 基线 + 某 Halium 适配 + 某运营商”。
“某机型 + 内核类别 + 设备分级 + 功能矩阵 + 维护者”。

一句话:Droidian 是“继承现成硬件能力”;postmarketOS 是“争取重新拥有硬件能力”。前者把风险更多留在后续兼容性,后者把风险更多放在早期驱动工程。

三、底层依赖:两条系统各自踩着什么地基?

1. Droidian:Android 不在桌面上,却仍在硬件链路里

Droidian 不是把一套普通 Debian 直接塞进手机。Halium 路径依赖 Android 侧内核、vendor 分区和服务,Linux 用户空间借助 libhybris 等兼容层调用 Android 硬件接口。对于 Treble/GSI 设备,官方文档明确指出:常常只需进行内核改造即可复用通用系统镜像;但“原厂 Android 内核还不够”,仍须符合 Halium 要求。[3]

应用 / Phosh → Wayland 与 Linux 服务 → libhybris / Halium 兼容层 → Android vendor、HAL、下游 kernel → 显示 / modem / 相机 / 音频等硬件

这解释了它的速度优势从何而来:不必先把每个闭源硬件接口重新发明一遍。也解释了它的边界:一旦 Android vendor、HIDL/AIDL、图形 composer、SELinux、分区挂载或内核补丁的组合不再匹配,系统可能“看似能启动”,却在相机、旋转、亮度、通话或休眠上出问题。Droidian 的调试指南中就把 Android 容器、vendor 挂载、composer 服务和 udev 规则列为实际排查点。[4]

2. postmarketOS:主线化不是换一个 kernel,而是重建一条可继承链路

postmarketOS 所说的 mainlining,是把厂商下游 kernel 中仍有价值的驱动、设备树与改动清理后推向上游,最终用更接近 Linux 主线的代码来驱动设备。它不是纯粹的“开源洁癖”:Wi-Fi、蓝牙等常仍需要不可避免的 firmware;不同硬件块的成熟度也极不均匀。[5] [2]

应用 / 多种移动桌面 → 标准 Linux 服务与用户空间 → 上游内核 / 通用驱动 / DTS → firmware 与开放协议 → 硬件

它的收益不是“今天更炫”,而是设备不再必须跟随厂商停更的 Android kernel 分叉。代价是,最有价值也最私有的能力恰恰最难主线化:蜂窝语音、相机 ISP、功耗、音频 DSP 和封闭 GPU 用户态,往往不是一个项目单独能解决的。

四、硬件功能逐项拆账:不要把一个绿色勾当成整机可用

硬件链路
Droidian 的现实
postmarketOS 的现实
产品验收应问什么
显示、触控、旋转
有机会直接复用 Android composer 与触控驱动,bring-up 通常较快。
若 DRM/KMS、panel、触控驱动已上游,路径干净;否则早期调试周期很长。
冷启动、熄屏唤醒、亮度、旋转、户外温度下是否都稳定?
GPU 与图形
依赖 Android 图形栈与兼容层,版本匹配是核心风险。
取决于 Mesa/内核 DRM 驱动是否成熟;同 SoC 不同 GPU 代际差异极大。
合成帧率、触控延迟、视频叠加、长期压力后是否丢帧?
蜂窝数据、SMS、通话
可利用既有 RIL/基带链路,但 IMS/VoLTE、音频路由和运营商配置仍是设备级问题。
数据/SMS、传统语音、VoLTE 是不同难度;尤其 IMS 不是“有 modem 就有”。
四家运营商、弱网、切网、来电唤醒、紧急呼叫、VoLTE 分别过了吗?
相机与 ISP
可能复用厂商 Camera HAL,但预览、编码、多摄、方向和权限仍需实机验证。
主线 V4L2/媒体路径一旦打通更清晰;但手机 ISP、自动对焦和专有算法最难替代。
连续预览 30 分钟、前后摄切换、录像、自动曝光/对焦、异常恢复是否可靠?
音频与 DSP
可借 Android audio HAL;录放、通话、蓝牙、回声消除每一项都可能不同。
ALSA/UCM、PipeWire/WirePlumber 等可持续演进,但 modem call-audio 的打通并不轻松。
听筒/免提/耳机/BT/双麦/AEC/来电时音频路由,是否逐项验收?
待机、充电、热
保留厂商电源链路不代表 Linux 用户空间下就有 Android 级续航。
主线低功耗状态、PMIC、modem 唤醒需要完整验证;这是主线化成败的硬指标。
24h 待机耗电、深睡比例、来电唤醒、关机充电、过热降频可测吗?
传感器与定位
HAL 可复用但权限、守护进程与校准数据易被忽略。
IIO/传感器驱动与 GNSS 协议可更通用,但设备校准与省电策略仍须补齐。
GPS TTFF、加速度/距离/光线、后台定位、航向与功耗是否达标?

上表描述的是工程依赖,不是每个型号的功能结论。任何“支持”都必须回到该设备页、内核类别与实测版本。

特别是通话:数据联网、短信、传统语音、VoLTE/IMS、紧急呼叫、通话录音和蓝牙通话是多条链路。Droidian 仍将 VoLTE 与 5G 列为持续测试项;postmarketOS 的通话音频项目也把 modem、声卡与现代音频会话管理之间的衔接视为重点。[6] [7]

五、谈性能,先拒绝伪跑分:同一 SoC 不会因换发行版自动变快

“Droidian 和 postmarketOS 谁性能更好?”如果不锁定同一手机、同一内核、同一频率策略、同一图形栈和同一任务,答案没有意义。CPU 指令最终仍在同一颗 SoC 上执行;单纯把 Android 换成 Linux,不会凭空增加算力。

真正影响用户体验的,是下面五个性能账本:

性能维度
决定因素
为什么不能只跑一次 benchmark
CPU 交互性能
调速器、热限制、后台服务、编译选项、内核版本。
短跑分可能很好,长期负载却因温控或错误的 cpuidle 策略掉速。
GPU / UI 流畅度
DRM/KMS 或 Android composer 路径、Mesa/专有栈、Wayland 合成器、屏幕刷新率。
桌面 60fps 不代表视频、地图、相机预览、旋转动画都稳。
视频与 AI 推理
硬件编解码、零拷贝、GPU/NPU/DSP runtime、内存带宽、散热。
CPU fallback 能跑,但功耗与延迟可能完全不具备产品意义。
内存与存储
基础用户空间、日志、浏览器、桌面、Waydroid 的容器和镜像。
Linux 本身可很轻,但一旦引入完整 Android 容器,RAM/ROM/后台负荷显著变化。
续航与响应
深睡、modem 唤醒、PMIC、充电、后台网络、热策略。
这是用户最能感知的“性能”,也最无法从桌面截图判断。

两项目都可以使用 Waydroid 作为 Android 应用补偿。Waydroid 不是传统模拟器,而是基于 Linux namespace、LXC 与 binder 的 Android 容器,可直接接入所需硬件;它因此接近原生效率,但并不免费:postmarketOS 官方明确提醒,会额外占用 RAM、存储、CPU 与电池。并且金融、DRM、推送、设备完整性检测等商业应用是否可用,仍不能由“容器能启动”推断。[8] [2]

文章不公布“谁更快”的数字,原因不是回避,而是避免误导。未在同一 Redmi Note 7、同一环境下完成 CPU、GPU、待机、相机、蜂窝和热负载测试前,把不同机型、不同内核的社区感受拼成跑分结论,是不负责任的。

如果要做下一阶段实测,建议使用同一台解锁设备、同一电池健康度、同一信号环境、同一屏幕亮度,连续测试:冷启动时间、空闲 8/24 小时耗电、浏览/地图的帧时间、1080p 录放持续性、30 分钟相机预览、通话/来电唤醒、4G/Wi-Fi 切换、热负载降频,以及 Waydroid 前后的 RAM/功耗增量。那才是能比较的性能报告。

六、生态不是“有没有应用商店”,而是三层供给

移动 Linux 的生态要分开看。把 Flatpak、APT/apk 软件仓库和 Android 应用容器混为一谈,会高估实际可用性。

生态层
Droidian
postmarketOS
现实判断
原生 Linux 软件
Debian 包生态大,桌面软件移植资源丰富;但“桌面可装”不等于“手机可用”。
继承 Alpine 的轻量与安全导向,apk 路径适合小镜像;移动端适配仍取决于应用本身。
浏览器、终端、工具、开源通讯是强项;国内常用超级 App 不是。
移动 UI 工具链
Phosh/Mobian 路线相对集中,应用适配有较明确目标。
可选 UI 更丰富,适合探索形态;也会带来体验与测试组合增加。
产品必须先锁定一套 UI、输入、通知、锁屏和无障碍标准。
Android 应用补偿
可使用 Waydroid,适合作为迁移期补充而非默认承诺。
同样支持 Waydroid,官方更明确建议优先寻找原生替代。
Android 容器解决部分 App 缺口,但会放大资源、兼容、合规与运维复杂度。
开发者生态
Debian/Ubuntu 经验更容易迁移,APT、systemd、容器工具普及。
pmbootstrap 将构建、打包、刷写流程抽象为一致的 chroot 工作流;主线协作更靠近 Linux 社区。
选择 OS 不能只看用户应用,也要看团队已有驱动、内核、Linux 发行版与 CI 能力。

postmarketOS 选择 Alpine 的一个直接原因是小:官方 FAQ 给出的基础安装约 5MB,并强调这对老旧设备的存储空间与一致的 pmbootstrap 构建环境有实际意义。注意,这不是“整台带桌面的手机只占 5MB”,更不是装上浏览器、地图、模型或 Waydroid 后的系统体积。[2] [9]

七、升级与安全:Droidian 的难点是“兼容遗产”,postmarketOS 的难点是“维护供给”

问题
Droidian
postmarketOS
用户空间更新
APT/.deb 的成熟路径;内核也可以按设备打包并 OTA 更新。
Alpine/apk 与稳定版、edge 路径;构建、包与设备配置由 pmbootstrap/pmaports 管理。
内核升级
可以更新,但老 Android kernel、boot image、vendor 与兼容层是否继续匹配,是设备适配的核心债务。
主线/通用内核的收益更大;但前提是设备确实进入可持续维护的分级,而非仅能启动。
安全边界
Linux 用户空间可获更新,不自动消除旧 vendor、闭源 blob、基带固件的历史风险。
upstream-first 可减少对停止维护用户空间和 kernel 分叉的依赖;firmware 与硬件漏洞仍另算。
产品化补课
安全启动与密钥、分区/回滚、远程升级、SBOM、漏洞响应、运营商认证、售后恢复,都必须由产品团队建立,不会由社区镜像自动提供。

postmarketOS 对设备并非只列一张“支持清单”。其 main、community、testing、downstream、archived 分级,直接把内核是否可升级、是否测试、是否有维护者和 CI 纳入准入条件;预构建镜像主要面向 main/community,以及少量 testing 设备。这个分级比“支持多少台”更有信息量。[10] [11]

八、对产品团队最有用的选择表:先看目标,再选路线

项目目标
优先判断
更可能的路线
不能省略的验证
把一款已停更 Android 机快速变成边缘网关、开发终端、实验性 AI 设备
现有 vendor 与 Halium 基础是否可用;核心功能是否只需少数硬件链路。
Droidian 通常更现实。
启动、网络、音频、相机、待机、远程升级;不要只看桌面。
做生命周期 5–10 年的行业设备,团队愿意维护内核和驱动
SoC 是否有良好主线支持;是否能锁定可合作的硬件和驱动资源。
postmarketOS 的方向更值得投入。
内核类别、DTS、PMIC、modem、相机、硬件 CI、内核升级回归。
做只依赖 4G、按键、屏幕、语音和少量外设的专用终端
是否真的需要手机型 Linux;专用 BSP/RTOS 或精简 Android 是否成本更低。
两者都应与原始 BSP 路线对比。
启动速度、功耗、认证、量产治具、供应链、远程管控总成本。
直接替代消费者主力机
当地 App、支付、DRM、VoLTE、紧急服务、售后、合规是否闭环。
不应轻率承诺任一方案。
真实用户网络、商业应用、长待机、安全升级与灾难恢复全链路。

对我们的 AI 终端方向,结论尤其清楚:如果目标是尽快验证“旧 Android 硬件 + Linux 服务 + 云端智能体/边缘控制”,Droidian 可以是一条现实的过渡通道;如果目标是建立可长期维护的设备家族,就应尽早把主线化、驱动归属、硬件 CI 和 OTA 责任写进立项,而不是等产品卖出后再补。

九、量产前的红线清单:少一项,就只能叫 Demo

  • 硬件矩阵:
    每个 SKU 的屏幕、触控、相机、音频、modem、Wi-Fi/BT、GNSS、传感器、充电与低功耗状态都有版本化结果;
  • 网络矩阵:
    目标国家/运营商/频段/SIM,数据、SMS、语音、VoLTE、漫游、弱网、来电唤醒分别验收;
  • 性能矩阵:
    冷启动、RAM、存储、热、功耗、帧时间、视频/相机连续运行,而非一次性跑分;
  • 升级矩阵:
    断电、满盘、跨版本、失败重试、A/B 回滚、救砖和工厂恢复都能闭环;
  • 安全矩阵:
    bootloader 状态、签名链、密钥轮换、漏洞响应、SBOM、日志与隐私边界明确;
  • 责任矩阵:
    谁维护 kernel、谁维护 vendor 或 firmware、谁测试运营商、谁对 OTA 失败负责,不能只写“社区支持”。

最重要的分界线:“能 boot”证明的是端口存在;“能连续升级且各关键硬件稳定工作”才证明它是可维护的设备;“有认证、运维、安全与售后闭环”才谈得上产品。

结语:两种时间尺度,不是一场桌面之争

Droidian 代表的是一种工程现实主义:先接住 Android 世界积累下来的驱动、ISP、基带和电源资产,让存量硬件尽快拥有 Linux 用户空间。

postmarketOS 代表的是另一种更慢、也更有野心的工程观:把设备从厂商下游 kernel 与停止维护的软件分叉中逐步解放出来,使它在原厂离场后仍能被维护。

前者不等于“没有 Linux”;后者也不等于“天然更适合量产”。真正的选择取决于你要复用什么硬件、承受多少前期驱动投入、计划维护几年,以及谁愿意承担那份长期责任。

移动 Linux 的价值,不是成为“第三个手机系统”。它真正打开的问题是:当 Android 的生命周期结束后,硬件还能不能被重新组织、重新维护、重新定义。

资料来源

  1. Droidian Image creation (https://docs.droidian.org/porting-guide/image-creation/):Halium 复用 Android drivers、GSI 与 vendor 依赖。
  2. postmarketOS FAQ (https://postmarketos.org/faq/):Alpine、upstream-first、firmware、Waydroid 与资源成本。
  3. Droidian Kernel compilation (https://docs.droidian.org/porting-guide/kernel-compilation/):Android kernel 适配、Treble/GSI 与 OTA 内核打包。
  4. Droidian Debugging tips (https://docs.droidian.org/porting-guide/debugging-tips/):Android container、vendor、composer 等真实端口问题。
  5. postmarketOS Mainlining (https://wiki.postmarketos.org/wiki/Mainlining):下游 kernel 到主线化的定义与低功耗要求。
  6. Droidian VoLTE and 5G testing (https://forum.droidian.org/t/volte-and-5g-testing/64):VoLTE/5G 的持续测试边界。
  7. postmarketOS call audio / WirePlumber project (https://postmarketos.org/blog/2025/08/17/callaudiod-wireplumber-project/):移动通话音频的工程现状。
  8. Waydroid official site (https://waydro.id/):Linux namespace、LXC、binder 与 Android 容器架构。
  9. pmbootstrap project (https://gitlab.com/postmarketOS/pmbootstrap/-/tree/1.48.0):postmarketOS 的构建、打包与刷写工作流。
  10. postmarketOS Devices (https://wiki.postmarketos.org/wiki/Devices):设备分类说明。
  11. postmarketOS pre-built images (https://wiki.postmarketos.org/wiki/Installation/Using_a_pre-built_image):预构建镜像适用的设备级别。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-08-21 16:30:28 HTTP/2.0 GET : https://f.mffb.com.cn/a/509631.html
  2. 运行时间 : 0.208916s [ 吞吐率:4.79req/s ] 内存消耗:4,503.92kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=6d4fb8aa523f0d951587f9bd52e83047
  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.001115s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001610s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000807s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000688s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001379s ]
  6. SELECT * FROM `set` [ RunTime:0.000535s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001321s ]
  8. SELECT * FROM `article` WHERE `id` = 509631 LIMIT 1 [ RunTime:0.005902s ]
  9. UPDATE `article` SET `lasttime` = 1787301028 WHERE `id` = 509631 [ RunTime:0.000954s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.000223s ]
  11. SELECT * FROM `article` WHERE `id` < 509631 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000422s ]
  12. SELECT * FROM `article` WHERE `id` > 509631 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001601s ]
  13. SELECT * FROM `article` WHERE `id` < 509631 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.003221s ]
  14. SELECT * FROM `article` WHERE `id` < 509631 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.004163s ]
  15. SELECT * FROM `article` WHERE `id` < 509631 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.012411s ]
0.210393s