当前位置:首页>python>用 Python 寻找外星人

用 Python 寻找外星人

  • 2026-08-23 13:01:55
用 Python 寻找外星人
用 Python 寻找外星人
“在某处,有不可思议的事物正在等待被发现。”——卡尔·萨根,《宇宙》(Cosmos, 1980)

1977 年,天文学家杰里·埃曼在俄亥俄州立大学望远镜的打印纸上写下了“Wow!”。那段持续约 72 秒的信号来自人马座方向,至今仍没有被完全解释。

图 1:1977 年 Wow! 信号的计算机打印记录。图片来源:Wikimedia Commons,原始来源为 Big Ear Radio Observatory and North American AstroPhysical Observatory。

从那次观测到今天,射电天文学已经积累了更灵敏的接收设备和更大的公开数据集。2015 年启动的 Breakthrough Listen 是由加州大学伯克利分校 SETI(地外文明搜寻)研究中心组织的项目,使用绿岸射电望远镜(GBT)和帕克斯望远镜等设备,系统寻找可能来自其他文明的无线电信号。

外星信号长什么样?

射电望远镜接收的是一段频率范围内的电磁波。如果一个信号的能量覆盖较宽的频率范围,我们称它为宽带信号;如果能量集中在很窄的频率范围内,则称为窄带信号。电视台载波、卫星通信和雷达都可能产生窄带成分。SETI 优先检查窄带信号,因为有意传输的信息往往集中在特定频率附近,而多数自然天体辐射的频率范围要宽得多。

如果信号源和望远镜之间存在相对运动,接收到的频率会随时间改变,这就是多普勒漂移。程序用漂移率表示这种变化的速度,单位是 Hz/s:正值代表频率向高处移动,负值代表向低处移动。把频率画在横轴、时间画在纵轴时,固定频率的信号接近竖线,发生漂移的信号才会逐渐偏向一侧。

最后还要判断信号是否明显高于背景。搜索结果中的 SNR 是信噪比,用来比较候选信号与附近噪声的强弱;SNR 越高,信号相对背景越突出,但仍需要进一步复核。观测中还混有 RFI,即射频干扰(radio-frequency interference),来源包括地面通信设备、卫星、雷达和望远镜自身的电子部件。后面的分析会同时使用窄带特征、漂移率和 SNR 筛选候选,再逐一排查这些干扰。

第一份 SETI 数据

望远镜记录的是混杂着噪声和干扰的无线电功率数据,而我们的目标就是从这些数据中找出异常模式。

过去,这类分析通常依赖观测机构的专用软件和计算设施。现在,只要使用公开数据配合 Python 脚本,就可以在本地完成对这些数据的分析。本文使用 blimpy 和 turboSETI 两个第三方库,读取观测文件,生成瀑布图,调用漂移搜索器,并把候选信号的频率、漂移率和信噪比写入结果文件。然后对这些候选结果进行射频干扰排除、多波束比较和独立观测验证,判断某个候选是否值得继续研究。

下面从一份公开观测开始,按这个顺序完成数据读取、可视化和漂移搜索。

图 2:从公开观测文件到候选信号的基本处理链。

Breakthrough Listen 在 Open Data 页面公开了 GBT 和 Parkes 的部分观测,常见格式是 .h5 和 .fil。这两种格式都可以保存频率通道、时间采样和功率值,只是具体的文件组织方式不同。

本文使用一份来自 GBT 的 HIP17147 观测文件,读者可以自行下载:

HIP17147 GBT 观测文件地址

拿到数据文件后,就可以使用 blimpy 对其进行读取。读取观测文件只需要创建一个 Waterfall 对象:

from pathlib import Pathfrom blimpy import Waterfallfile_path = Path("data/hip17147_gbt_0002.h5")obs = Waterfall(str(file_path))obs.info()

Waterfall 会读取文件头中的目标名称、频率上下界、通道数和时间分辨率等信息:

--- File Info ---DIMENSION_LABELS :   ['frequency' 'feed_id' 'time']        az_start :                              0.0       data_type :                                1            fch1 :                2802.83203125 MHz            foff :         -0.00286102294921875 MHz      machine_id :                               20           nbits :                               32          nchans :                           351232            nifs :                                1     source_name :                         HIP17147         src_dej :                     -3:27:36.009         src_raj :                      3:40:22.676    telescope_id :                                6           tsamp :               1.0737418239999998   tstart (ISOT) :          2016-10-07T08:01:40.000    tstart (MJD) :                57668.33449074074        za_start :                              0.0

如果 obs.info() 显示的频率范围不包含计划查看的区间,可以调整参数或换一份数据。

让真实频谱显形

原始文件里保存的是连续时间片上的功率数组,直接查看数字很难判断信号的变化。分析时把每个时间片的频谱按顺序堆叠起来,再用颜色表示功率强弱,就能得到瀑布图(waterfall plot)。瀑布图将每次采样得到的频谱按时间顺序排列:横轴是频率,纵轴是观测时间,颜色表示接收到的功率强弱。始终停留在同一频率上的信号会形成竖线,频率随时间变化时,轨迹会向一侧倾斜。

使用本文附带的 src/inspect_waterfall.py 脚本就可以生成指定频率范围的瀑布图:

python src/inspect_waterfall.py \  data/hip17147_gbt_0002.h5 \  --f-start 1800 --f-stop 2800 \  --output outputs/waterfall.png

运行后得到的图片如下:

图 3:使用公开的 HIP17147 GBT 观测文件生成的频谱瀑布图。

图 3 中最显眼的是贯穿整个观测时段的竖直色带,其中约 2190 MHz 附近有一条较亮的窄带。这些色带说明接收功率会随频率发生明显变化,但它们形成的原因还无法从这张图中确定,既可能与射频干扰有关,也可能来自望远镜接收系统的频率响应。

筛选候选信号

为了寻找值得进一步追踪的信号源,不能只看某个频率在图上有多亮,还需要考虑它的强度是否持续,以及所在频率是否随时间改变。对于持续发射的窄带信号,信号源和望远镜之间的相对运动会让接收频率随时间改变,这种变化称为多普勒漂移。我们用“漂移率”表示频率改变的快慢,单位是 Hz/s;它取决于观测频率以及信号源与望远镜之间的径向运动。由于真实漂移率事先未知,搜索时要先设定一个范围,再在范围内逐一检验不同的数值。

由 Breakthrough Listen 团队开发的 turboSETI 专门用于搜索具有多普勒漂移的窄带信号。对每一个待检验的漂移率,它会把各次采样中预测位置的频率通道重新对齐,将这些位置上的功率累加,再与附近的背景噪声比较;这个过程称为去多普勒漂移(de-Doppler)。

我们只要指定观测文件、漂移率范围和信噪比(SNR)门槛等参数就可以进行搜索:

from turbo_seti.find_doppler.find_doppler import FindDopplersearch = FindDoppler(    "data/hip17147_gbt_0002.h5",    max_drift=4,       # 搜索 -4 到 +4 Hz/s    snr=10,             # 只保留 SNR >= 10 的候选    out_dir="outputs/turboSETI",)search.search()

max_drift=4 表示搜索范围从 -4 到 +4 Hz/s,同时覆盖向高频和向低频移动的情况;snr=10 要求候选轨迹的信噪比至少达到 10。

可以直接使用本文附带的 src/search_doppler.py 脚本搜索候选信号:

python src/search_doppler.py \  data/hip17147_gbt_0002.h5 \  --max-drift 8 \  --snr 10 \  --out-dir outputs/turboSETI

运行后,turboSETI 会在指定目标生成一个 .dat 文件,其中头部包含了一些搜索参数和元数据:

# -------------------------- o --------------------------# File ID: hip17147_gbt_0002.h5# -------------------------- o --------------------------# Source:HIP17147# MJD: 57668.334490740737	RA: 3h40m22.676s	DEC: -3d27m36.009s# DELTAT:   1.073742	DELTAF(Hz): -2861.022949	max_drift_rate:   8.000000	obs_length: 293.131518# --------------------------

搜索完成后,满足阈值的数据会追加在文件头之后,记录漂移率、SNR 和频率等字段:

Top_Hit_#
Drift_Rate
SNR
Uncorrected_Frequency
Corrected_Frequency
000001
5.214355
41.515415
2226.407433
2226.407433
000002
5.214355
14.476212
2226.381683
2226.381683
000003
5.214355
225.080078
2197.184944
2197.184944
000004
5.214355
217.224655
2197.173500
2197.173500
000005
-5.214355
1673.754395
2195.499802
2195.499802

如果没有发现任何记录,可以尝试调整max-driftsnr参数。

验证候选信号

turboSETI 采用线性漂移率模型,但实际天体运动(如行星轨道加速度、星际介质色散)可能引入高阶非线性分量,导致信号能量在FFT频谱中无法被有效积分;SNR 阈值的设定则面临检测理论中的根本困境——降低阈值会大幅增加RFI污染和统计涨落误报,提高阈值则可能遗漏真实但较弱的窄带发射。

因此,获取候选清单只是一个起点,真正区分天体信号与地球干扰需要经过多层验证。

1. 多波束比较:信号是否只在目标波束出现,而不是同时出现在 off-target 或旁瓣观测中。

2. 频率重合查询:信号是否与已知卫星、航空、地面台站或仪器频率重合。可以通过 astropy 库查询已知天体谱线频率,卫星频段和地面台站归属需查阅国际电信联盟(ITU)《无线电规则》及各国家的频率分配表。

3. 跨观测复现:信号是否在不同历元或不同望远镜中重复出现。

4. 信号形态分析:信号形态是否符合窄带漂移模型,而非固定频率的本地干扰。

如果某个窄带信号在目标方向出现,漂移率合理,并且通过了这些验证,它才值得进入后续的天文学研究。

最后

从 Wow! 信号到今天的公开数据档案,SETI 始终在追问同一个问题:我们在宇宙中,究竟是不是孤独的。

过去,这个问题似乎只属于拥有巨型射电望远镜和专业设备的研究机构。如今,一个普通的 Python 开发者就可以下载真实的射电观测数据,从频谱中寻找异常,运行漂移搜索算法,并亲手验证一个候选信号。

本文用一份公开的 GBT 观测文件完成了从数据读取、瀑布图绘制到多普勒漂移搜索的基本流程。读者可以在相同环境中重新运行这些脚本,调整漂移率范围和 SNR 门槛,再对输出的候选结果进行验证。后续工作仍然依赖更完整的观测数据和严格的射频干扰排查。

代码和文档地址:https://pan.baidu.com/s/1Ty-dxvJVzXU_kWHDE_WFYg?pwd=sfsq

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-08-23 17:33:35 HTTP/2.0 GET : https://f.mffb.com.cn/a/511971.html
  2. 运行时间 : 0.242739s [ 吞吐率:4.12req/s ] 内存消耗:4,653.14kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=10150b3b96485f0aa54c70e3f2691068
  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.001181s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001577s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000723s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000745s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001571s ]
  6. SELECT * FROM `set` [ RunTime:0.000551s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001615s ]
  8. SELECT * FROM `article` WHERE `id` = 511971 LIMIT 1 [ RunTime:0.001474s ]
  9. UPDATE `article` SET `lasttime` = 1787477615 WHERE `id` = 511971 [ RunTime:0.036503s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000602s ]
  11. SELECT * FROM `article` WHERE `id` < 511971 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001002s ]
  12. SELECT * FROM `article` WHERE `id` > 511971 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.013287s ]
  13. SELECT * FROM `article` WHERE `id` < 511971 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.005193s ]
  14. SELECT * FROM `article` WHERE `id` < 511971 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.010704s ]
  15. SELECT * FROM `article` WHERE `id` < 511971 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.004128s ]
0.246530s