当前位置:首页>农业>智慧农业的伪需求

智慧农业的伪需求

  • 2026-05-11 05:13:03
智慧农业的伪需求

智慧农业中的「伪需求」——哪些研究范式注定会被筛掉

本文试图命名七种在智慧农业科研中反复出现的伪需求范式。说「伪需求」,不是说研究者的工作不认真、方法不正确,而是说这些研究所回应的问题本身——在脱离论文叙事的语境后——要么不存在,要么不重要,要么已被更简单的方案解决。它们是科研系统内部自我复制的产物,而非真实世界的需求拉动。

植物代谢演化中有一个被反复验证的规律:一条代谢通路被保留还是沉默,取决于它在当前生态位中的「维持成本/适合度回报」之比。成本包括碳氮资源消耗、酶系统的合成与调控负担;回报包括防御效果、传粉吸引、竞争优势等。当一条通路的回报无法覆盖其维持成本时,自然选择会让它逐渐沉默——哪怕它在分子层面上设计得非常精妙。

以下七种范式,可被视为智慧农业科研这个「生态位」中维持成本远高于真实回报的通路。它们消耗着经费、算力和研究者的时间,但产出的成果在走出论文数据库之后,几乎不被任何人使用。

伪 需 求 范 式 一

换模型刷榜

同一个任务、同一批数据,换个 backbone 就是一篇新论文

▎典型标本

「基于改进 YOLOv8 的田间杂草检测方法研究」

去年有人用 YOLOv5 做水稻田杂草检测,今年用 YOLOv8 加上一个注意力模块重新做一遍,mAP 从 0.87 提到 0.89,训练集是自行采集的 3000 张照片。Discussion 部分写道:「本文方法在精度和速度上均优于现有方法,为田间杂草智能识别提供了新思路。」

这类论文的生产逻辑异常清晰:选一个农业场景(杂草/病害/果实/害虫),选一个当年最新的检测框架(YOLO 系列每年出一代,恰好提供了稳定的素材来源),做微调或加模块,跑出一个比之前方法高一两个点的指标,成文。

第一,「改进」的贡献归属是模糊的。当使用 YOLOv8 替换 YOLOv5 时,精度提升到底来自所谓的「改进」还是来自 backbone 本身的进步?如果去掉注意力模块,单纯用原生 YOLOv8,精度是多少?绝大多数论文不做这个消融实验——因为做了可能会发现,所谓「贡献」和原生框架升级带来的增益相比,在误差线以内

第二,检测杂草这个任务本身的瓶颈根本不在算法精度。如果真正要落地,瓶颈是光照变化、遮挡、杂草与作物苗期形态高度相似、土壤背景干扰、不同生育期的形态变异——这些是数据层面和问题定义层面的挑战,不是「mAP 差两个点」的问题。把 mAP 从 0.87 提到 0.89,对任何一个真实的除草决策都不会产生影响。但把模型从实验室拍摄的干净数据迁移到真实田间的杂乱环境下还能保持 0.80 以上——这才是真正要解决的难题。

第三,更根本的是:在很多除草场景中,精确识别每一棵杂草并非必要条件。对于大面积喷洒的传统模式,不需要识别;对于精准喷药(spot spraying),需要的是「这个位置有没有杂草」的二值判断,而不是「这是稗草还是马唐」的细分类。论文中孜孜以求的细粒度识别能力,对应的是一个并不存在的执行需求。

▎演化类比

这相当于一种植物为了防御一种特定的鳞翅目幼虫,不断升级一种蛋白酶抑制剂的结合特异性——从 Kd=10nM 优化到 8nM 再到 6nM。但田间真实的选择压力是多种害虫混合取食,一个广谱的物理防御(如增加表皮蜡质和毛状体密度)可能比极致特化的化学防御更有适合度。精度的边际收益递减,鲁棒性才是被选择的性状。

判定 · 伪需求

换模型刷榜的核心问题不是方法不对,而是所回应的问题不重要。检测精度从 0.87 到 0.89 不改变任何真实决策。真正的瓶颈在域迁移、在数据工程、在「检测之后怎么办」的执行闭环——但这些方向更难发论文。

伪 需 求 范 式 二

受控条件下的光谱-理化关联

温室里采 200 个样本,拟合 R² 发一篇,然后呢?

▎典型标本

「基于可见-近红外光谱的番茄叶片氮含量快速检测」

在温室中采集 180 个不同氮处理水平的番茄叶片,用 ASD 光谱仪测反射光谱,同步测定全氮含量。SG 平滑 + 一阶导数预处理,CARS 特征选择,PLSR 建模。R²_cv = 0.91,RMSE = 0.23%。结论:「该方法可为番茄氮素营养快速无损监测提供参考。」

这类研究的数量之庞大,几乎构成了光谱分析领域的「基本盘」。换作物、换理化指标、换预处理方法、换建模算法——排列组合一下就是无数篇论文。番茄的氮做完了做磷,磷做完了做钾;番茄做完了做黄瓜;PLSR 做完了换 SVR,SVR 做完了换 1D-CNN。

第一,这些关联的本质是什么?光谱反射本质上反映的是分子振动和电子跃迁。叶片全氮含量影响叶绿素浓度,叶绿素在红光区有吸收——所以实际测到的不是「氮」,而是「叶绿素」对光的吸收,然后通过「叶绿素含量通常和氮含量正相关」这个经验关系间接推算氮。这条推理链上的每一个环节都有条件依赖——品种不同、生育期不同、胁迫状态不同,叶绿素和全氮的关系就变了。在一个品种、一个生育期、一个温室条件下拟合出的模型,换到另一个条件下大概率失效。但论文不需要验证这一点——因为跨条件验证不是审稿人要求的内容。

第二,这是在寻找统计关联,还是在理解机制?PLSR 和 SVR 不关心自变量在物理上意味着什么——给它一组足够大的光谱矩阵和一列化学值,它总能找到某种投影关系。找到统计关联不等于建立了因果理解,更不等于建立了可迁移的预测能力。当用 CARS 从 200 个波段中选出 12 个「重要波段」时,这 12 个波段在物理上意味着什么?对应的是哪个化学键的振动?如果回答不了这个问题,那所谓的「特征选择」就不是在发现机制,而是在对噪声做过拟合。

这正是植物演化中「代谢物筛选」提供的启示。植物保留一条代谢通路,不是因为这个分子碰巧和某个表型有统计相关——而是因为存在明确的因果机制(比如某个生物碱能抑制特定昆虫的神经递质受体)。没有因果机制支撑的统计相关,在环境变化时就会崩溃。

第三,即便模型可靠,它解决了谁的问题?田间的氮素管理决策依据是什么?不是精确到小数点后两位的叶片全氮含量。而是「这块地要不要追肥」这个二值判断——SPAD 叶绿素仪读一下、叶色卡比一下,甚至有经验的农技员看一眼叶色就能判断。论文中构建的精密光谱反演模型,解决的是一个在实际管理中用三十块钱的叶色卡就能应付的问题。

▎刺耳但值得思考的问题

如果把论文结论改成「叶色卡在这个场景中够用了」,还能发表吗?

大概率不能。因为「简单方法已经够用」不是一个可以发表的结论——学术期刊奖励的是复杂性和新颖性,而非适用性和经济性。于是研究者的理性选择是:不去验证「简单方法是否已经足够好」,而是直接假设「更精密的方法一定有价值」,然后在这个假设上建造整篇论文。伪需求就这样被学术评价体系批量生产出来。

判定 · 伪需求

受控条件下的光谱-理化关联研究,核心问题是:它建立的是不可迁移的统计相关,而非有因果支撑的预测能力。即便精度再高,也无法走出它被建立时的那间温室。更关键的是,田间的管理决策精度阈值远低于这些模型的设计精度。

伪 需 求 范 式 三

大炮打蚊子

用超强算法解决不需要超强算法的问题

▎典型标本

「基于元学习的小样本玉米叶部病害识别」

声称田间病害图像获取困难、标注成本高,因此引入 Prototypical Network / MAML 等元学习方法,在 5-shot 设定下实现 4 类病害分类。对比实验显示优于直接微调 ResNet。结论:「为数据稀缺场景下的作物病害识别提供了有效方案。」

这类工作的叙事起点是一个看似合理的前提:「农业场景中标注数据稀缺」。然后引入小样本学习、元学习、自监督学习等最新技术来「解决」这个问题。但这个前提本身需要被质疑。

「数据稀缺」是真实约束还是被夸大的困难?对于大多数常见作物病害而言,PlantVillage 数据集有 50000+ 张标注图像。即便需要本地化数据,一个经过简单培训的本科生拿手机在田间拍摄一天就能获取数百到上千张照片,简单标注的工时成本远低于开发一个元学习框架的研发成本。花几个月开发 5-shot 学习系统,但如果把其中两个下午用来采数据,就可以得到一个 500-shot 的训练集,在上面用 ResNet 微调就能达到更好的效果。

few-shot learning 真正适用的场景是什么?是那些每获取一个新样本的成本极高、或者需要快速适配全新类别的场景——比如罕见病的医学影像、工业缺陷中的新缺陷类型。对于大田作物的常见病害,这些条件通常不满足。玉米大斑病不是罕见病——走进一块发病的田里就能拍到几百张。

真正稀缺的场景确实存在,但论文通常不选择研究那些。什么时候农业中的数据真的稀缺?新发入侵害虫的早期阶段、非模式作物的病害(小众经济作物、中药材等)、复杂症状的组合鉴别。但这些真正困难的场景,论文通常回避——因为它们不仅数据少,连问题定义都不清楚,没法用干净的 N-way K-shot 评测协议跑实验。论文选择的反而是玉米、水稻、番茄这些已有大量数据的作物——先人为制造数据稀缺,再用复杂方法解决自己制造的稀缺。

▎演化类比

这相当于一种植物在水分充足的沿河生境中,大量表达抗旱相关的脱落酸信号通路和渗透调节物质积累机制。这些通路在干旱生境中确实是关键性状。但当一个物种并不面临这个选择压力时,投入大量资源维持这条通路就是浪费——自然选择会惩罚这种错配的资源分配。

判定 · 伪需求

「数据稀缺」在多数常见作物场景中是一个被夸大的前提。当采集 500 张照片的成本低于开发一个元学习框架的成本时,选择后者不是在解决问题,是在制造一个适合发论文的问题设定

伪 需 求 范 式 四

传感器错配

用不适合的工具观测,再用复杂算法弥补工具的局限

▎典型标本

「基于无人机 RGB 影像的小麦叶面积指数反演」

用消费级无人机搭载普通 RGB 相机获取影像,提取可见光植被指数(ExG、VARI 等)和纹理特征,建立与 LAI 的回归模型。R²=0.75。结论:「为低成本 LAI 监测提供了可行方案。」

这是遥感领域一种非常普遍的研究模式:手头有什么传感器就用什么传感器去做一切事情,然后用越来越复杂的算法来弥补传感器本身在物理上的不适配。

RGB 相机没有近红外波段。而几乎所有与植被生理状态相关的光谱信息——叶绿素的红边效应、叶片含水量在 SWIR 的吸收、细胞结构在 NIR 的反射平台——都依赖可见光之外的波段。用 RGB 去估 LAI,本质上是在用绿色深浅的变化这一个信息源去推断一个受冠层结构、叶角分布、叶绿素含量、土壤背景等多重因素共同影响的参数。R²=0.75 不代表「方法可行」,恰恰代表25%的变异根本解释不了——因为传感器在物理上缺少必要的信息维度

类似的模式还包括:用热红外去估土壤含水量(热红外反映的是表面温度,不是含水量);用 SAR 后向散射去估作物生物量(后向散射受含水量和结构共同影响,不唯一地指向生物量);用普通 RGB 视觉去做果实糖度分级(糖度是内部品质指标,在可见光外观上几乎没有直接表征)。

▎关键追问

「低成本」叙事的隐藏代价

这类论文通常以「低成本方案」作为卖点。但被隐藏的成本是什么?是为了弥补传感器不足而投入的巨量算法开发和标定工作,以及模型在非训练条件下的不可靠性。一架搭载多光谱传感器的无人机比 RGB 贵几万块,但它在物理上就能提供正确的信息维度。传感器端多花三万块解决的问题,算法端花了三个月的开发时间和一篇硕士论文来「弥补」——这是经济上的理性选择吗?

▎演化类比

有些沙漠植物演化出了极其复杂的水分回收系统——从大气中凝结水珠、通过叶片表面的纳米结构导流到根部。这在极端缺水环境中是辉煌的适应。但如果种到灌溉农田里,这套昂贵的系统就是纯粹的浪费——旁边就有水龙头。当合适的传感器已经存在且价格可承受时,用错误的传感器+复杂算法来达到相近的效果,就是演化中的「错配适应」。

判定 · 伪需求

传感器物理上缺少的信息维度,算法无法「发明」出来。用复杂算法弥补传感器错配,本质上是用人月成本和模型不确定性去替换传感器硬件成本——在多数场景下,这不是一个好的交易。

伪 需 求 范 式 五

场景搬运

算法本身没有创新,「创新」来自在又一种作物上验证了一遍

▎典型标本

「基于改进 Mask R-CNN 的芒果成熟度检测研究」

一篇论文用 Mask R-CNN 做苹果计数,另一篇用几乎相同的方法做橘子计数,第三篇做芒果成熟度分级。网络结构大同小异,最多换了个 neck 或加了个后处理。每一篇都声称是「首次将 XX 方法应用于 YY 作物的 ZZ 任务」。

这种范式的逻辑可以概括为:计算机视觉领域出了一个新框架 → 找一个还没被这个框架「做过」的农业检测任务 → 做一遍 → 宣称「首次应用」。

「首次应用」在这里是一个值得深思的措辞。它暗示开拓性创新——第一个登月、第一个全基因组测序。但在实际操作中,把一个成熟的检测框架从苹果迁移到芒果,所需的工作量大致是:采集标注一个新数据集 + 调参 + 重新训练。这和「创新」之间的距离,大约等于把一篇英文论文翻译成法文然后宣称「首次以法语形式呈现了这一研究」。

更深层的问题:每多一篇「XX 作物检测」的论文,对整个领域的知识增量到底是什么?如果某种方法在苹果上有效,在芒果上大概率也有效——因为它依赖的是通用的视觉特征(颜色、形状、纹理),而不是某个物种特有的生物学性质。一篇扎实的通用方法论文 + 一个开放的预训练模型,理论上可以替代几十篇单一作物的应用验证论文。但学术出版体系不奖励「验证别人的方法确实有效」——只奖励「做了一个新的东西」。于是每个人都要在自己选择的作物上「重做一遍」才能发文,导致大量同构但不累积的研究充斥文献库。

▎一个思想实验

如果把所有「基于XX方法的YY作物ZZ检测」论文合并,会发生什么?

假设有人做了一项 meta-analysis,把近五年所有相关论文的实验结果汇总。大概率会发现:在控制了数据集规模和质量之后,不同检测框架之间的性能差异、不同作物之间的性能差异、以及同一框架不同「改进」版本之间的性能差异,都远小于数据集本身带来的变异。换言之,几千篇论文的核心结论可以浓缩成一句话:用足够多、足够好的标注数据,加上任何一个主流检测框架,就能在绝大多数农产品检测任务上达到可用精度。但这句话不值一篇论文。

判定 · 伪需求

场景搬运型论文的核心问题是知识不累积。第 N 篇「某作物检测」对领域的边际知识贡献趋近于零。真正有价值的工作要么推进通用方法论、要么解决特定作物中其他方法无法处理的独特挑战——而非重复验证一个已知结论。

伪 需 求 范 式 六

自造需求:任务过度升级

在不需要分割的场景做分割,在不需要定位的场景做精准定位

▎典型标本 A

「基于语义分割的田间杂草精准识别与面积估算」

使用 DeepLabv3+ 对无人机影像做像素级语义分割,将每个像素标注为「作物/杂草/土壤」。论文展示了精美的分割掩膜图,mIoU 达到 0.78。但最终的应用场景是什么?——指导喷洒除草剂。而除草剂喷头的作业幅宽是 50cm,根本不需要像素级的杂草轮廓,只需要知道「这个 50cm×50cm 的网格内有没有杂草」。一个简单的图像分类甚至阈值判断就能达到同样的决策效果。

▎典型标本 B

「基于关键点检测的水稻分蘖数精准估计」

使用关键点检测网络定位每一个分蘖的基部位置,在图像上精确标出坐标。然而实际育种和栽培管理中,需要的仅仅是一个分蘖数的计数值——不需要知道每个分蘖在哪里。回归模型直接从图像特征预测分蘖数量即可,根本不需要空间定位这一步。

这种范式可以称为「任务过度升级」——把一个本质上是分类问题的任务包装成检测问题,把检测问题升级为分割问题,把计数问题转化为定位问题。每一次升级都意味着更复杂的标注、更重的模型、更高的算力——以及更漂亮的可视化结果图(语义分割的彩色掩膜确实比一个分类标签好看得多)。

但关键问题是:下游决策到底需要什么粒度的信息?

如果最终目的是控制喷头的开关,那需要的是网格级的有/无判断,不是像素级的轮廓描绘。如果目的是统计某个性状的数量值,需要的是一个计数结果,不是每个个体的亚像素坐标。如果目的是评估病害严重度,需要的可能只是一个0-5级的分级,而非病斑面积的精确测量。

当任务的输出精度远超下游决策的输入精度时,超出的那部分就是纯粹的浪费——不仅浪费了算力和标注人力,还制造了一个虚假的技术门槛,让原本可以用简单方法解决的问题看起来「必须用深度学习」。

之所以会出现任务过度升级,有一个很现实的原因:在计算机视觉的学术体系中,任务层级是有鄙视链的——分类 < 检测 < 分割 < 实例分割 < 全景分割。做分割比做分类「看起来更难」,论文的技术含量「看起来更高」。于是研究者倾向于选择层级更高的任务形式,即便应用场景根本不需要那个精度。可视化结果图的观赏性,取代了实际需求,成了任务定义的驱动力。

▎演化类比

这相当于植物在不需要挥发性信号传递的生境中(比如水下生长的沉水植物),仍然维持一条复杂的萜类挥发物合成通路。这条通路在需要吸引传粉者或警告邻株的陆生植物中是关键的——但在水下,挥发性物质无法传播,这条通路再精密也没有功能意义。自然选择的解法不是「在水下合成更高浓度的挥发物」,而是彻底放弃这条通路,把资源转移到水媒传粉等真正有适合度回报的机制上。

判定 · 伪需求

任务过度升级的本质是用技术层级的「高级感」替代了对实际需求粒度的诚实评估。在定义任务时,第一个问题不应该是「最先进的方法能做什么」,而是「下游决策到底需要什么精度的信息」——然后反向选择最简单的能满足这个精度的技术方案。

伪 需 求 范 式 七

重复发明轮子

在细分场景中重新建造通用工具已经解决的东西

▎典型标本

「面向智慧农业的农业知识问答大模型构建」

从头收集农业领域的问答语料,在某开源大语言模型上做领域微调,然后在自建测试集上评测,证明「本文提出的 AgriGPT 在农业知识问答上的准确率优于通用 GPT」。

这种范式的出现和大模型的爆发几乎同步。当 ChatGPT 席卷一切之后,各个垂直领域都冒出了「XX 领域大模型」——医疗GPT、法律GPT、金融GPT,农业自然不会缺席。

问题在于:通用大语言模型的能力迭代速度远快于任何垂直领域微调项目的开发周期。花八个月收集语料、标注、微调、评测,做出一个「农业领域问答优于 GPT-3.5」的模型。但在论文投稿的那一天,GPT-4o 的农业知识问答能力可能已经超过了这个微调模型——因为通用模型的下一代训练数据中已经包含了海量农业知识。这是在追赶一个加速远离的目标。

更深层的问题是:在一个通用基础能力正在被极少数头部机构以远超几个数量级的资源快速推进的赛道上,细分领域的研究者到底应该做什么?

答案显然不是「在同一赛道上用更少的资源重复它们的工作」。而是利用通用模型作为基础设施,去解决通用模型无法解决的领域特定问题——比如多模态的田间决策支持(结合遥感影像、气象数据、土壤传感器信号做综合判断)、农业知识图谱的构建与推理、与传感器系统和执行机构的实时对接。这些需要深度的领域知识,通用模型做不了。

但收集语料 + 微调 + 在自建测试集上刷分这条路径太清晰了、太容易出论文了。于是大量资源涌入了这个方向,而那些真正需要农业领域洞察力的接口问题反而无人问津。

▎演化类比

这就像驯化过程中的一个经典教训。野生大豆自身合成所有的共生固氮所需信号分子。人类驯化大豆时,不需要「重新发明」固氮——根瘤菌已经存在于环境中,真正需要做的是优化大豆与根瘤菌的接口(选育结瘤效率高的品种、优化接种方式)。重新在植物体内构建一套固氮系统,成本远超利用已有的共生关系。善用已有的基础设施,把精力放在接口和适配上——这是驯化的智慧,也应该是科研资源分配的智慧。

判定 · 伪需求

在通用基础模型快速迭代的时代,从头训练领域大模型是一种注定被超越的资源错配。领域研究者的不可替代价值在于理解领域问题的特殊性,而非重复造轮子。

尾 声

伪需求为什么会被批量生产

以上七种范式,可能会让部分同行感到不适——因为大多数研究者或多或少都接触过类似的工作。这恰恰是伪需求的微妙之处:它们不是「坏研究」,它们是系统激励下的理性选择。

一个博士生需要毕业,换模型刷榜是最低风险路径;一个课题组需要结题,在受控条件下发几篇光谱关联论文最稳妥;一个期刊需要稿源,「首次将XX应用于YY」的格式最容易流水线审稿。每一个参与者在局部都做出了理性选择,但系统的整体产出中充斥着不累积的冗余。

这和代谢演化中的「遗传漂变」有相似之处——在选择压力弱的环境中(比如一个物种突然进入没有天敌的新环境),大量中性甚至微弱有害的突变会被固定,因为没有足够的淘汰压力把它们筛掉。当前智慧农业科研领域经费相对充裕、发表渠道相对宽松,就是这样一个「选择压力偏弱」的环境——大量中性甚至无效的研究被「发表-引用」循环维持着,而不是被真实需求的反馈所筛选。

选择压力终究会到来。当经费竞争更加激烈,当学术评价体系从「数论文」转向「看影响」,当产业界对学术成果的买单意愿成为资源分配的权重——那时候,上述七种范式中的相当一部分就会像无用的代谢通路一样被沉默。

但不需要等到被动淘汰。更好的策略是主动审视:在选题的时候就问一句——如果这篇论文从来没被写出来,世界上会有任何人觉得缺了什么吗?

如果答案是否定的,那不管 R² 多高、方法多新、图多漂亮,它解决的都是伪需求。

"

植物用三亿年学会了放弃不被选择的代谢通路。科研资源的分配,不应该需要这么久。

—— 全文完 ——

#智慧农业#科研范式#伪需求#遥感#深度学习#精准农业

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-05-13 07:22:18 HTTP/2.0 GET : https://h.mffb.com.cn/a/501980.html
  2. 运行时间 : 0.280399s [ 吞吐率:3.57req/s ] 内存消耗:4,581.94kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=2a0528916ec8462c9924328ecc458ab8
  1. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/runtime/temp/32b793ebdcbdb96aeb8bb24c123b0bef.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000671s ] mysql:host=127.0.0.1;port=3306;dbname=h_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000604s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.001753s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.008360s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000561s ]
  6. SELECT * FROM `set` [ RunTime:0.000202s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000657s ]
  8. SELECT * FROM `article` WHERE `id` = 501980 LIMIT 1 [ RunTime:0.010521s ]
  9. UPDATE `article` SET `lasttime` = 1778628138 WHERE `id` = 501980 [ RunTime:0.006392s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.001531s ]
  11. SELECT * FROM `article` WHERE `id` < 501980 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.007493s ]
  12. SELECT * FROM `article` WHERE `id` > 501980 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.025647s ]
  13. SELECT * FROM `article` WHERE `id` < 501980 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.013215s ]
  14. SELECT * FROM `article` WHERE `id` < 501980 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.007790s ]
  15. SELECT * FROM `article` WHERE `id` < 501980 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.039919s ]
0.284038s