跳到内容
当前位置:首页>PPT>从%到ppt:测量世界的谦卑与敬畏

从%到ppt:测量世界的谦卑与敬畏

  • 2026-11-08 16:04:29
从%到ppt:测量世界的谦卑与敬畏

我们生活在一个被“含量”定义的世界里。

空气中氧气的含量约为21%,这是百分比,而在半导体制造车间里,工艺气体中水分的含量必须控制在ppt——万亿分之一以下,因为即便ppb级别的水分子与芯片制造中的化学物质反应,也会导致良率损失。

从%(percent,百分比)到ppm(parts per million,百万分比),再到ppb(parts per billion,十亿分比)、ppt(parts per trillion,万亿分比),人类对物质含量的认知,像一条不断向下延伸的阶梯,每一级台阶都通往更微小的世界。我们以为自己越来越精确,越来越接近真相。但真相或许恰恰相反——每一次向下的探索,都在提醒我们:我们所能测量的,永远只是自然允许我们测量的一小部分。

这里藏着一个根本性的矛盾:人无法直接数出分子的个数。我们不可能伸出手指,去清点一杯水里有几个水分子,更不可能去数空气中有几个氧分子。我们只能借助其他物理量,间接地推算出“含量”这个数字。而间接测量的本身,是会受环境影响而变形的。

于是我们不得不面对一个令人不安的事实:我们用来测量世界的几乎所有手段,都是间接的、有条件的、受限于当时技术水平的。

我们定义“米”为光在真空中行进1/299792458秒的距离。我们定义“摩尔”为精确包含6.02214076×10²³个基本单元的物质的量。这些定义看起来精确到了极致,但它们依然是人为的约定,是我们与自然之间签订的一份临时合同。合同可以修订,可以作废,可以因为新技术的出现而被更精确的约定取代。

这不是科学的缺陷,而是科学的本质。科学从来不是真理的化身,而是一套不断自我修正的方法。它不承诺永恒的正确,只承诺持续的改进。

让我们从两个最熟悉的物质说起:水和氧。它们分别代表了含量测量中的两条典型路径——一条从热力学平衡出发,一条从电化学输运出发。两条路径的每一次延伸,都在揭示同一个真相:我们测量的从来不是分子本身,而是分子留给世界的影子。

水:从相对湿度到万亿分之一

湿度60%”到底意味着什么

当我们说“空气湿度是60%”时,这个数字到底意味着什么?根据JJF 1012-2007的定义,相对湿度是湿气中水蒸气的摩尔分数与相同温度和压力条件下饱和水蒸气的摩尔分数之百分数。这个定义本身就暗示了一个深刻的困境:相对湿度是一个比值,而比值的分母——饱和水蒸气摩尔分数——是温度的函数。这里需要澄清一个常见误解:相对湿度的60%不是“水蒸气占总气体的60%”。在20°C、总压约101.3 kPa时,饱和水蒸气压约为2.34 kPa,如果相对湿度是60%,则水蒸气分压约为1.40 kPa,水蒸气摩尔分数仅约为1.38%。也就是说,天气预报说“湿度60%”,实际水蒸气分子只占空气总分子数的约1.38%。真正的“含量百分比”若以摩尔数计,应是水蒸气摩尔分数,而非相对湿度。那么为什么同一团湿空气加热后,相对湿度会急剧下降?关键在于:在总压不变且无水分交换的条件下加热湿空气,水蒸气分压和水蒸气摩尔分数保持不变,露点也不变;但饱和蒸气压随温度升高而迅速增大,因此相对湿度显著下降。与此同时,由于热膨胀,单位体积中的水分子数会减少。所以,变的是相对湿度和单位体积数密度,不变的是水蒸气分压和摩尔分数。也就是说,相对湿度、露点、摩尔分数,各自测量的是不同的东西。我们以为在说同一个“含水量”,其实说的可能根本不是同一个物理量。

露点:水气分压的温度翻译

我们需要一个更本质的量来绕过温度带来的困境。这就是露点。露点的定义很简单:气体冷却到水蒸气开始凝结时的温度。但简单定义背后,隐藏着一个深刻的物理事实。当气体被等压冷却,水蒸气达到饱和的那一刻,饱和蒸汽压等于实际的水气分压。而水气分压与总压之比,才真正决定了摩尔含量。换句话说,露点本身也不是含量。它只是水气分压的一个“温度翻译”——把分压这个抽象的数字,翻译成一个人能直观感受的温度。然后,我们再用饱和蒸汽压曲线把它反算回水分浓度。露点仪测量露点然后换算成水分量,水分计测量水分量然后换算成露点,两个方向走的其实是同一座桥。这座桥有一个地基假设:热力学平衡。测量必须在真正达到平衡时进行,否则换算就是错的。而饱和蒸汽压曲线本身也有多套版本——国际上普遍认可的是Sonntag公式和Hardy湿空气增值系数公式。不同的公式在极端条件下的差异,直接影响到露点与浓度的换算精度。一项研究指出,增值系数在常温常压下对换算结果影响很小可忽略,但在高温低压时则有一定影响,不可忽略。此外,当露点低于0°C时,还需要判断是露点(过冷水面)还是霜点(冰面),两者的饱和蒸汽压公式不同,换算出的相对湿度差异很大。

从冷镜到电容:两条不同的“代理”路径

冷镜式露点仪被视为湿度测量的基准方法。它的工作原理基于露点的基本定义:冷却一定量的空气直到形成冷凝,一旦蒸发和冷凝速率之间达到平衡,镜面温度就等于露点。该技术精度可达±0.1℃至±0.2℃,可溯源至国家计量标准。但基准方法有基准方法的代价。冷镜技术对镜面上的污垢、油污和灰尘高度敏感。当水样中含有挥发性有机物时,这些物质可能在镜面上形成薄膜,干扰冷凝的检测。准确的冷镜设备往往非常昂贵,一般用于要求绝对精度且可以频繁维护的场景。在高温和低露点的极端条件下,冷镜的响应速度也会显著下降。电容式传感器走的是另一条路。它采用分层结构,吸湿性金属氧化物(如氧化铝)或高分子聚合物薄膜作为电介质,电容器容量随吸收的水蒸气量变化,由此推算露点。水的介电常数约为80,而干燥气体如甲烷的介电常数仅约为1——这种巨大的差异为电容法提供了物理基础。现代电容式露点传感器的测量范围已可覆盖 -100°C至+20°C dp,精度约为 ±2°C dp。这个精度水平对于大多数工业除湿应用已经足够,但与冷镜的±0.1°C相比,差了整整一个数量级。更关键的是,电容式传感器测量的从来不是露点,而是电介质吸收水分后电容的变化率。这个变化率受温度、老化、污染物等多重因素的影响。自动校准功能可以修正测量曲线的干端漂移和零点偏移,但校准曲线本身的可靠性,在远离校准点的区域会逐渐下降。

痕量水分的挑战:从ppm到ppt

当水分含量从百分比降到ppm、ppb甚至ppt量级时,露点会降到零下几十度甚至更低。痕量μmol/mol相当于大气压露点-80°C,超痕量nmol/mol相当于-110°C,而pmol/mol则相当于-120°C。JIS标准通常只给出到-100°C露点的换算表,更低的区间只能靠外推。我们不是直接测量了万亿分之一的水,我们只是把一条曲线画得更长了一些,然后相信它在画不到的地方依然成立。这个相信,代价不小。首先,水是极性分子,有很强的活性,容易发生吸附和化学反应。采样管路的材质、温度、压力的变化都会引起水的吸附或相变,从而影响测量准确性。为了减少吸附,痕量水测量的管路必须采用内壁电抛光不锈钢管,管路尽可能短,接头采用VCR金属面密封连接,还需要保温防止相变。其次,测量方法本身也在不断进化。目前测量nmol/mol痕量水分的仪器方法有可调谐二极管激光吸收光谱法(TDLAS)、光腔衰荡光谱法(CRDS)、大气压离子质谱仪法(APIMS);传感器类技术则包括石英晶体微天平法、冷镜露点法、阻容法、电解法。在这些方法中,光腔衰荡光谱是目前灵敏度最高的技术之一。它的原理是:光在两面高反射率镜子之间来回反射,每次反射只有极少量光透出。当腔内存在吸收光的水分子时,光的衰减速度会加快,衰减时间与水分子的浓度直接相关。使用波长计控制CRDS的研究表明,对残余水分为1 nmol/mol的干燥氮气进行166次光谱平均,拟合残差的标准差对应水摩尔分数为6.3 pmol/mol(6.3 ppt)。在有机EL器件保护膜的行业中,需要测量透过薄膜后10 ppt以下的微量水分,波长计控制型CRDS已经实现了这一水平。但CRDS测量的是水分子对特定波长光的吸收截面,而吸收截面本身是温度和压力的函数,需要精确的线形模型来修正。我们测量的不是水分子本身,而是水分子与光相互作用的方式。此外,CRDS设备成本较高,通常主要部署在气体中央分配点,如果被污染,维护可能既耗时又昂贵。

氧:从21%到万亿分之一

顺磁式氧分析仪:看似直接的间接测量

空气中的氧含量约为21%,这个数字我们从小就熟悉。测量它的方法看起来也很“直接”:顺磁式氧分析仪利用氧分子独特的顺磁性——氧气的体积磁化率远高于大多数其他气体,通过测量磁化率的变化来推算氧浓度。这似乎是一种物理性质上的“指纹识别”,但磁化率本身也受温度和压力的影响,需要补偿。而且,顺磁式传感器对背景气体的磁化率变化也敏感,当测量含有其他顺磁性气体(如NO、NO₂)的混合气体时,交叉干扰不可避免。它测量的是磁化率的变化,而磁化率是分子电子结构的一个宏观表现,不是分子个数本身。

氧化锆传感器:氧离子的迁移速率

更精巧的是极限电流型氧化锆氧传感器。它的核心是一块稳定化氧化锆陶瓷——在氧化锆中掺入氧化钇或氧化钙,使其在高温下具有氧离子导电性。陶瓷两侧镀上铂电极,阴极侧覆盖一个带气体扩散孔的陶瓷帽。施加电压后,阴极侧的氧分子被还原为氧离子,氧离子穿过陶瓷到达阳极,形成电流。这个电流有一个上限:它被氧分子穿过扩散孔的速率所限制。当扩散路径的特征直径远大于气体分子的平均自由程时,氧分子在扩散孔中的输运遵循Fick定律,极限电流与氧浓度近似成正比。这项技术于1984年由日本藤仓电线的中沢光博等人实现实用化,从此改变了氧浓度测量的格局。在百分比量级,它的精度可以做到±0.5% O₂,再现性在±0.1% O₂以内。商用微量氧分析仪的量程覆盖0~100 ppm和0~1000 ppm,测量精度2%F.S.,分辨率0.1 ppm,响应时间T90≤10秒。这里的关键在于:我们测量的不是氧分子,而是氧离子在陶瓷中的迁移速率。这个速率取决于扩散孔的几何尺寸、陶瓷的温度、氧离子空位的浓度——每一个因素都可能漂移。

微量氧的困境:当信号消失在噪声中

当氧含量降到ppm量级以下时,氧化锆传感器遇到了根本性的困难。钇稳定氧化锆基极限电流型氧传感器适用于长时间高温常氧范围测量,但在痕量氧环境下其输出信号微弱,难以实现精准测量。国产氧化锆分析仪多用于常量测定,在微量测定时存在较大误差,影响因素包括电子电导、气流冷却效应、渗透效应、池本底电势及还原性气体的影响等。还原性气体的干扰尤其值得注意。还原性气氛会损害铂电极的催化作用,导致传感器读数偏离真实值,甚至使传感器失效。而且,和其他所有氧化锆传感器一样,若测量气体中存在硅,传感器会损毁。许多应用中广泛使用的室温硫化硅橡胶蒸汽是主要原因——当这些蒸汽接触到传感器时,其有机物组分会在传感器温度较高的部位燃烧,留下非常细腻的二氧化硅,完全堵塞传感器电极的通透小孔和其他有效组件。这意味着在半导体制造、燃料电池等对氧含量极度敏感的应用中,氧化锆传感器可能“分析不出来”ppm级别的氧气——不是原理上不可能,而是信噪比不够,或者传感器本身在测量过程中被破坏了。

电化学与库仑法:消耗氧分子来测量氧分子

于是我们转向电化学方法。库仑法氧分析仪利用电化学反应消耗样品气中的全部氧气,反应产生的电流与氧含量成正比。Servomex DF-560E型库仑法氧分析仪的检测限达到75 ppt。它的工作量程为0-1 ppb或0-20 ppm,基本误差为±3%读数或±1 ppb(以较大者为准)。库仑法的优势在于它几乎是一种“绝对”测量——每个氧分子贡献固定数量的电子,电流与分子数之间存在直接的法拉第关系。但即便这种“绝对”方法,也需要校准,也会受到背景电流、电极老化、电解液消耗的影响。Hersch Cell不需要更换传感器,但电解液需要每隔几周补充一次。而库仑法传感器对环境中的氧污染极为敏感,一旦暴露于高浓度氧中,可能需要长时间恢复才能重新使用。

CRDS的氧检测:同一原理,不同的分子

CRDS同样可以用于氧的痕量检测。基于CRDS技术的氧气分析仪可以在ppt精度下验证氧杂质水平。CRDS在体氧中检测痕量H₂O、CO、CO₂和CH₄,符合IRDS(国际器件与系统路线图)的要求,且无需支持气体、无需定期校准。但CRDS测氧和测水面临同样的哲学问题:我们测量的不是氧分子,而是氧分子对特定波长光的吸收。吸收线强度来自光谱数据库,而数据库本身是实验测量和理论计算的产物,存在不确定度。我们用一个不确定的数据,去校准另一个不确定的测量,然后宣称得到了ppt级的氧含量。

这条测量链条的延伸,有一条清晰的历史轨迹可循。每一步推进的背后,都是新的物理原理被转化为测量工具:从热力学平衡到电化学输运,从光的吸收到离子的迁移。但每一步推进,也都在测量链条上增加了一个新的环节——一个新的校准需求,一个新的不确定度来源。

水和氧的故事,指向同一个结论。从百分比到ppm,再到ppb和ppt,人类的测量能力确实在惊人地提升。但我们提升的,从来不是“直接看到分子”的能力。我们提升的,是构建和维持代理量测量链条的能力——更稳定的光源、更精密的温控、更干净的背景、更复杂的换算模型。每一条链条都建立在若干假设之上:平衡条件、校准有效性、交叉敏感性可忽略、外推区间依然成立。科学研究早已承认这一点。无论什么化学测量所得结果都只是对所测物质性质真实值的一种估计,而非真实值本身,因为化学测量过程大都为间接测量。完整的测量结果含有两个基本量:一是被测量的最佳估计值,另一个是描述该测量结果分散性的量,即测量不确定度。测量结果可能非常接近真值,但由于认识不足,评定得到的不确定度可能较大;也可能测量误差实际上较大,但被低估了。

有学者更深刻地指出,技术手段的限制只是第一层限制,第二层限制是人类读取、解释和理解测量的能力。在某些情况下,测量本身就会在被测对象中引入变化。玻尔兹曼关于气体内部热量的测量就是一个经典案例:我们无法技术性地计数单位时间内的碰撞次数,只能“承认热量是碰撞次数的度量”,这是一种被接受但无法验证的解释。这让人想到量子力学中的波粒二象性。在人类观测到之前,我们不会理解光既是波又是粒子。测量本身的行为改变了被测量的对象。我们在宏观尺度上测量“含量”时,虽然不涉及量子力学的测量问题,但同样面临一个根本性的困境:我们测量的不是分子,而是分子在某个代理量上的表现,而这个代理量与分子数之间的关系,依赖于一套可能不完善的理论、一组可能不全面的试验、一系列可能不精确的推导和标定。露点不等于含量,极限电流不等于氧分子数,6.3 ppt的检测限不等于“我看到了6.3万亿分之一的那个水分子”。一个真正懂得测量的人,最清楚自己的数据有多少不确定性,最明白每一个数字背后有多少前提假设。

迷信科学,是把测量链条当成了通向真理的直线,把“检测限以下”当成了“不存在”。但检测限以下的世界,对我们而言是一片沉默——不是那里什么都没有,而是我们的仪器还听不到它的声音。当氧化锆传感器在含硅气体中迅速损毁时,当露点仪在-100°C以下只能靠外推换算时,我们看到的不是自然的真相,而是测量链条在当前条件下的极限。过分神秘化,则是另一种逃避。它用“不可知”来搪塞“尚未知”,用“敬畏”来掩饰“懒惰”。它放弃了继续延伸测量链条的责任。如果我们的祖先满足于“水就是湿的”,就不会有露点的概念;如果满足于“空气中有氧”,就不会有ppt级的氧分析仪。

真正的态度,或许是在两者之间:心怀敬畏,但不停下脚步。知道露点只是水气分压的温度翻译,但依然认真地翻译它,并诚实地标注翻译的不确定度。知道极限电流只是氧离子迁移速率的一个读数,但依然用它来守护每一次呼吸的安全和每一片芯片的良率。

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