当前位置:首页>python>AI + Python 巡检远程主机并输出html报告

AI + Python 巡检远程主机并输出html报告

  • 2026-08-20 10:16:06
AI + Python 巡检远程主机并输出html报告
安装需要的python库
pip install fastapi==0.115.6 starlette==0.41.3 uvicorn jinja2 python-multipart paramiko report_generator psutil dashscope -i https://pypi.tuna.tsinghua.edu.cn/simple
    fastapi:高性能 Web 框架,用来快速搭建 API 接口starlette:FastAPI 的底层框架,提供路由、请求处理等基础功能uvicorn:ASGI 服务器,用来启动和运行 FastAPI 应用jinja2:模板引擎,用于动态渲染 HTML 页面python-multipart:处理文件上传和表单数据paramiko:SSH 客户端库,用于远程连接服务器、执行命令report_generator:报告生成库(非主流库,具体功能需看文档)psutil:获取系统信息,如 CPU、内存、磁盘使用率等dashscope:阿里云大模型 SDK,调用通义千问等 AI 模型
    新建python文件
    main.py
    from fastapi import FastAPI, Requestfrom fastapi.responses import HTMLResponsefrom fastapi.templating import Jinja2Templatesimport uvicornimport osfrom sys_inspect import read_ip_list, get_all_server_metrics, generate_ai_reportapp = FastAPI()templates = Jinja2Templates(directory="templates")# 获取当前 main.py 所在目录,拼出 ip.txt 的绝对路径BASE_DIR = os.path.dirname(os.path.abspath(__file__))IP_FILE = os.path.join(BASE_DIR, "ip.txt")@app.get("/", response_class=HTMLResponse)async def read_root(request: Request):    ip_list = read_ip_list(IP_FILE)    return templates.TemplateResponse(        "index.html",        {            "request": request,            "ip_list": ip_list,            "ip_count"len(ip_list)        }    )@app.post("/run_check", response_class=HTMLResponse)async def run_inspection(request: Request):    print("🔍 开始巡检所有远程主机...")    # 1. 从 ip.txt 读取并采集所有远程机器数据    all_metrics = get_all_server_metrics()    # 2. 调用 AI 生成 HTML 报告    html_content = generate_ai_report(all_metrics)    # 3. 返回报告给浏览器    return HTMLResponse(content=html_content)if __name__ == "__main__":    uvicorn.run(app, host="0.0.0.0", port=8000)

    sys_inspect.py

    import paramikofrom dashscope import Generationimport osimport re# 【重要】请替换为你自己的阿里云 API KeyDASHSCOPE_API_KEY = "sk-ws-H.EIDXMHI.wn9XXXX"# 远程机器的统一账号密码SSH_USERNAME = "root"SSH_PASSWORD = "123456"SSH_PORT = 22def read_ip_list(filepath="ip.txt"):    """从 ip.txt 读取远程主机 IP 列表"""    with open(filepath, "r"as f:        ips = [line.strip() for line in f if line.strip()]    return ipsdef get_remote_metrics(hostname):    """通过 SSH 连接远程机器,采集 CPU、内存、磁盘、端口、进程信息"""    ssh = paramiko.SSHClient()    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())    try:        ssh.connect(hostname=hostname, port=SSH_PORT, username=SSH_USERNAME, password=SSH_PASSWORD, timeout=10)        # 定义要执行的命令        commands = {            "hostname""hostname",            "os_info""uname -r",            "cpu_usage""top -bn1 | grep 'Cpu(s)' | awk '{print $2}'",            "mem_info""free -m | grep Mem",            "disk_usage""df -h / | tail -1 | awk '{print $5}'",            # ===== 新增:端口和进程 =====            "listening_ports""ss -tlnp 2>/dev/null || netstat -tlnp 2>/dev/null",            "top_processes""ps aux --sort=-%mem | head -16",            "uptime""uptime",        }        results = {"target": hostname}        for key, cmd in commands.items():            stdin, stdout, stderr = ssh.exec_command(cmd)            output = stdout.read().decode("utf-8").strip()            results[key] = output if output else "N/A"        # 解析内存数据        if results["mem_info"and results["mem_info"] != "N/A":            parts = results["mem_info"].split()            mem_total = int(parts[1])            mem_used = int(parts[2])            results["mem_total"] = f"{round(mem_total / 10242)} GB"            results["mem_used_percent"] = f"{round(mem_used / mem_total * 1001)}%"        else:            results["mem_total"] = "N/A"            results["mem_used_percent"] = "N/A"        # 清理中间字段        results.pop("mem_info"None)        return results    except Exception as e:        return {"target": hostname, "error"str(e)}    finally:        ssh.close()def get_all_server_metrics():    """读取 ip.txt,逐台采集所有远程机器的数据"""    # 用和 main.py 同样的方式定位 ip.txt    base_dir = os.path.dirname(os.path.abspath(__file__))    ip_file = os.path.join(base_dir, "ip.txt")    ips = read_ip_list(ip_file)    all_metrics = []    for ip in ips:        print(f"  🔍 正在采集: {ip} ...")        metrics = get_remote_metrics(ip)        all_metrics.append(metrics)    return all_metricsdef generate_ai_report(metrics_list):    """将多台机器的指标发送给通义千问,生成 HTML 巡检报告"""    # 把所有机器的数据拼成文本    data_text = ""    for i, m in enumerate(metrics_list, 1):        if "error" in m:            data_text += f"\n【主机{i}{m['target']} — 连接失败: {m['error']}\n"        else:            data_text += f"""【主机{i}- 目标IP: {m['target']}- 主机名: {m['hostname']}- 操作系统内核: {m['os_info']}- 运行时长: {m.get('uptime''N/A')}- CPU使用率: {m['cpu_usage']}%- 内存总量: {m['mem_total']}- 内存使用率: {m['mem_used_percent']}- 磁盘使用率: {m['disk_usage']}- 监听端口及对应进程:{m.get('listening_ports''N/A')}- 资源占用最高的进程(按内存排序前15):{m.get('top_processes''N/A')}"""    prompt = f"""你是一个专业的运维专家。根据以下多台服务器的巡检数据,生成一份 HTML 格式的巡检报告。要求:1. 使用内联 CSS 样式,风格简洁现代(白底黑字,关键数据高亮)。2. 包含标题、巡检时间。3. 每台机器单独一个区块,包含:   - 基础信息表格(IP、主机名、系统、运行时长、CPU、内存、磁盘)   - 监听端口表格(协议、端口、进程名),从 ss/netstat 输出中提取关键信息   - 业务进程表格(用户、PID、CPU%、内存%、命令),从 ps 输出中提取关键信息4. 如果某台机器连接失败,单独标红提示。5. 根据数据给出"健康建议",例如:   - CPU 使用率超过 80% 提示检查高负载进程   - 内存使用率超过 85% 提示可能存在内存泄漏   - 磁盘使用率超过 80% 提示清理日志或扩容   - 发现异常端口或可疑进程时给出安全提醒数据如下:{data_text}"""    messages = [{"role""user""content": prompt}]    response = Generation.call(        model="qwen-turbo",        messages=messages,        api_key=DASHSCOPE_API_KEY,        result_format="message",    )    if response.status_code == 200:        html_content = response.output.choices[0].message.content        # 去掉 AI 返回的 Markdown 代码块标记        html_content = re.sub(r'^```html\s*''', html_content, flags=re.IGNORECASE)        html_content = re.sub(r'^```\s*''', html_content)        html_content = re.sub(r'```\s* $ ''', html_content)        html_content = html_content.strip()        return html_content    else:        return f"<h1>AI 生成失败</h1><p>Error: {response.message}</p>"
    新建index.html文件
    templates/index.html
    <!DOCTYPE html><htmllang="zh-CN"><head>    <metacharset="UTF-8">    <title>智能运维巡检系统</title>    <style>        body { font-family: sans-serif; max-width600pxmargin50px auto; padding20pxtext-align: center; }        button { padding12px 24pxbackground-color#007bffcolor: white; border: none; border-radius4pxcursor: pointer; font-size16px; }        button:hover { background-color#0056b3; }        /* 新增样式:用于显示 IP 列表 */        .ip-box {            margin-top30px;            padding15px;            background-color#f8f9fa;            border1px solid #e9ecef;            border-radius8px;            text-align: left;        }        .ip-title { font-weight: bold; color#495057margin-bottom10pxdisplay: block; }        .ip-tag {            display: inline-block;            background-color#e2e6ea;            color#212529;            padding4px 8px;            margin4px;            border-radius4px;            font-family: monospace;            font-size14px;        }    </style></head><body>    <h1>🛡️ 服务器智能巡检</h1>    <p>点击下方按钮,自动巡检配置好的远程主机</p>    <!-- 表单 -->    <formaction="/run_check"method="post">        <buttontype="submit">开始一键巡检 (共 {{ ip_count }} 台)</button>    </form>    <!-- 新增:IP 列表显示区域 -->    <divclass="ip-box">        <spanclass="ip-title">📋 待巡检目标列表 (来自 ip.txt):</span>        {% for ip in ip_list %}            <spanclass="ip-tag">{{ ip }}</span>        {% endfor %}    </div></body></html>
    运行main.py文件
    浏览器访问

    最新文章

    随机文章

    基本 文件 流程 错误 SQL 调试
    1. 请求信息 : 2026-08-21 22:50:54 HTTP/2.0 GET : https://f.mffb.com.cn/a/507013.html
    2. 运行时间 : 0.106084s [ 吞吐率:9.43req/s ] 内存消耗:4,611.84kb 文件加载:140
    3. 缓存信息 : 0 reads,0 writes
    4. 会话信息 : SESSION_ID=fe81411eeb33497cfbe2c0464db2ad28
    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.000363s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
    2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000561s ]
    3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000281s ]
    4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000281s ]
    5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000526s ]
    6. SELECT * FROM `set` [ RunTime:0.000314s ]
    7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000620s ]
    8. SELECT * FROM `article` WHERE `id` = 507013 LIMIT 1 [ RunTime:0.006735s ]
    9. UPDATE `article` SET `lasttime` = 1787323854 WHERE `id` = 507013 [ RunTime:0.003154s ]
    10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000248s ]
    11. SELECT * FROM `article` WHERE `id` < 507013 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000738s ]
    12. SELECT * FROM `article` WHERE `id` > 507013 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.008788s ]
    13. SELECT * FROM `article` WHERE `id` < 507013 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.015602s ]
    14. SELECT * FROM `article` WHERE `id` < 507013 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000796s ]
    15. SELECT * FROM `article` WHERE `id` < 507013 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.001765s ]
    0.107488s