================ 快手荧光计划 · 环境诊断 ================ 时间: 2026-10-24 03:49:02 项目根: /www/wwwroot/app.winktime.xyz --- PHP 运行环境 --- PHP 版本 8.5.7 (fpm-fcgi) PHP 版本 >= 8.1 ✓ Web 用户 www (uid 1000) 站点根目录 (docroot) /www/wwwroot/app.winktime.xyz/public 入口脚本 /www/wwwroot/app.winktime.xyz/public/diag.php open_basedir (未限制) open_basedir 未限制 ✓ display_errors 1 date.timezone PRC max_execution_time 300 memory_limit 128M --- 扩展(必须有 ✓) --- pdo(数据库访问) ✓ pdo_sqlite(默认 SQLite 库) ✓ openssl(Cookie 加密) ✓ mbstring(中文处理) ✓ json(JSON) ✓ session(会话) ✓ curl(建议装(http 传输/自定义源用)) 已装 fileinfo(建议装) 未装 pdo_mysql(仅 MySQL 需要) 已装 --- 目录与可写性 --- config/config.php ✓ 存在(属主 root 权限 0644) config/config.local.php ✓ 存在(属主 root 权限 0644) app/bootstrap.php ✓ 存在(属主 root 权限 0644) database/schema.sqlite.sql ✓ 存在(属主 root 权限 0644) data ✓ 可写(属主 www 权限 0755) data/logs ✓ 可写(属主 www 权限 0755) data/videos ✓ 可写(属主 www 权限 0755) data/sessions ✓ 可写(属主 www 权限 0700) --- 数据库连通性 --- SQLite 打开 ✓ /www/wwwroot/app.winktime.xyz/data/app.sqlite 已有表 accounts, agent_jobs, dramas, invites, login_attempts, qr_sessions, send_logs, settings, sqlite_sequence, stats_daily, tasks, users, yg_locks install.lock 存在(安装流程已完成过) --- 接口传输方式与本机代理 --- 当前传输方式 bridge 代理令牌文件 ✓ data/agent-token.txt(前缀 d3dedaab…) --- 桥接服务(浏览器跑在服务器上时用)--- Node.js ✓ /usr/bin/node(v18.20.0) playwright 依赖 ✓ 已安装(bridge/node_modules) Chromium 浏览器 ✓ data/pw-browsers(桥接服务用的就是这个) 共享令牌文件 ✓ data/bridge-token.txt(PHP 与桥接服务自动一致) --- 令牌文件可读性(以 Web 用户身份 = 真实请求用的身份)--- 桥接令牌(服务与 PHP 共用) data/bridge-token.txt 大小=64 属主=www 权限=0640 ✓ 当前身份可读 服务启动时写出的生效令牌 data/bridge-token-effective.txt 大小=64 属主=www 权限=0640 ✓ 当前身份可读 自动配对写出的令牌 data/bridge-token-hint.txt 大小=64 属主=www 权限=0640 ✓ 当前身份可读 PHP 实际会发送: 长度 64,前缀 e255f416…(应当等于服务端日志里显示的前缀) 桥接端口 ✓ 127.0.0.1:8787 在监听 proc_open / exec ✓ proc_open=禁用 exec=可用 项目内 Chromium ✓ data/pw-browsers /health 桥接服务 ✓ playwright=true chromium=true yt-dlp=false sessions=0 --- 建表脚本自检(内存库,不碰正式数据) --- 建表脚本自检 ✓ 31 条语句全部通过 --- 最近错误日志(关键的看这里) --- [ data/logs/app-2026-10-09.log ] [2026-10-09 22:39:03] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.07s {"ok":null,"err":null} [2026-10-09 22:39:06] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.08s {"ok":null,"err":null} [2026-10-09 22:39:07] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.08s {"ok":null,"err":null} [2026-10-09 22:39:08] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.07s {"ok":null,"err":null} [2026-10-09 22:39:10] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.08s {"ok":null,"err":null} [2026-10-09 22:39:11] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.07s {"ok":null,"err":null} [2026-10-09 22:39:13] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.07s {"ok":null,"err":null} [2026-10-09 22:39:14] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.07s {"ok":null,"err":null} [2026-10-09 22:39:16] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.08s {"ok":null,"err":null} [2026-10-09 22:39:17] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.07s {"ok":null,"err":null} [2026-10-09 22:39:19] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.07s {"ok":null,"err":null} [2026-10-09 22:39:20] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.09s {"ok":null,"err":null} [2026-10-09 22:39:22] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.07s {"ok":null,"err":null} [2026-10-09 22:39:23] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.07s {"ok":null,"err":null} [2026-10-09 22:39:26] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.07s {"ok":null,"err":null} [2026-10-09 22:39:26] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.10s {"ok":null,"err":null} [2026-10-09 22:39:28] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.10s {"ok":null,"err":null} [2026-10-09 22:39:29] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.12s {"ok":null,"err":null} [2026-10-09 22:39:31] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.08s {"ok":null,"err":null} [2026-10-09 22:39:32] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.08s {"ok":null,"err":null} [2026-10-09 22:39:34] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.07s {"ok":null,"err":null} [2026-10-09 22:39:36] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.07s {"ok":null,"err":null} [2026-10-09 22:39:37] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.07s {"ok":null,"err":null} [2026-10-09 22:39:38] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.06s {"ok":null,"err":null} [2026-10-09 22:39:39] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.07s {"ok":null,"err":null} [2026-10-09 22:39:40] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.07s {"ok":null,"err":null} [2026-10-09 22:39:43] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.07s {"ok":null,"err":null} [2026-10-09 22:39:44] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.07s {"ok":null,"err":null} [2026-10-09 22:39:46] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.06s {"ok":null,"err":null} [2026-10-09 22:39:47] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.06s {"ok":null,"err":null} [ data/logs/app-2026-10-10.log ] [2026-10-10 18:59:41] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.08s {"ok":null,"err":null} [2026-10-10 18:59:42] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.08s {"ok":null,"err":null} [2026-10-10 18:59:49] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.07s {"ok":null,"err":null} [2026-10-10 19:00:08] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.08s {"ok":null,"err":null} [2026-10-10 19:00:49] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.08s {"ok":null,"err":null} [2026-10-10 19:00:58] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.08s {"ok":null,"err":null} [2026-10-10 19:01:48] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.09s {"ok":null,"err":null} [2026-10-10 19:01:49] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.08s {"ok":null,"err":null} [2026-10-10 19:02:38] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.10s {"ok":null,"err":null} [2026-10-10 19:02:49] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.11s {"ok":null,"err":null} [2026-10-10 19:03:49] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.08s {"ok":null,"err":null} [2026-10-10 19:03:49] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.11s {"ok":null,"err":null} [2026-10-10 19:04:49] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.09s {"ok":null,"err":null} [2026-10-10 19:04:49] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.12s {"ok":null,"err":null} [2026-10-10 19:05:49] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.07s {"ok":null,"err":null} [2026-10-10 19:05:49] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.10s {"ok":null,"err":null} [2026-10-10 19:06:49] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.07s {"ok":null,"err":null} [2026-10-10 19:06:49] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.07s {"ok":null,"err":null} [2026-10-10 19:07:49] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.08s {"ok":null,"err":null} [2026-10-10 19:07:49] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.08s {"ok":null,"err":null} [2026-10-10 19:08:49] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.07s {"ok":null,"err":null} [2026-10-10 19:08:49] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.07s {"ok":null,"err":null} [2026-10-10 19:09:49] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.07s {"ok":null,"err":null} [2026-10-10 19:09:49] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.08s {"ok":null,"err":null} [2026-10-10 19:10:49] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.08s {"ok":null,"err":null} [2026-10-10 19:10:49] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.08s {"ok":null,"err":null} [2026-10-10 19:11:49] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.08s {"ok":null,"err":null} [2026-10-10 19:11:49] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.10s {"ok":null,"err":null} [2026-10-10 19:12:49] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.07s {"ok":null,"err":null} [2026-10-10 19:12:49] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.08s {"ok":null,"err":null} [ data/logs/app-2026-10-11.log ] [2026-10-11 21:42:53] INFO.auth.login 登录成功 {"username":"admin"} [2026-10-11 21:42:55] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-11 21:43:43] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-11 21:44:33] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-11 21:45:23] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-11 21:46:13] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-11 21:47:03] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-11 21:47:53] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-11 21:48:43] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-11 21:49:44] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-11 21:50:45] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-11 21:51:46] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-11 21:52:47] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-11 21:53:00] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-11 21:54:00] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-11 21:55:00] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-11 21:56:00] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-11 21:57:01] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [ data/logs/app-2026-10-12.log ] [2026-10-12 15:37:01] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-12 15:38:02] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-12 15:38:14] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-12 15:39:14] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-12 15:40:14] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-12 23:04:18] DEBUG.ks.bridge /qr/start HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-12 23:04:18] INFO.qr.start 已拉起真二维码 {"transport":"bridge","has_qr_image":false,"hint":null} [2026-10-12 23:05:09] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-12 23:05:59] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-12 23:06:49] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-12 23:07:39] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-12 23:08:29] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-12 23:09:19] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-12 23:10:09] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-12 23:10:59] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-12 23:12:00] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-12 23:13:01] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-12 23:14:02] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-12 23:15:03] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-12 23:15:15] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-12 23:16:15] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-12 23:17:15] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-12 23:18:15] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-12 23:19:15] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-12 23:20:15] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-12 23:21:15] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-12 23:22:15] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-12 23:23:15] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-12 23:24:15] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-12 23:25:15] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [ data/logs/app-2026-10-13.log ] [2026-10-13 04:07:38] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-13 04:07:41] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-13 04:07:44] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-13 04:07:47] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-13 04:07:50] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-13 04:07:53] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-13 04:07:56] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-13 04:07:57] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-13 04:07:59] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-13 04:08:02] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-13 04:08:05] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-13 04:08:08] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-13 04:10:10] INFO.auth.login 登录成功 {"username":"admin"} [2026-10-13 04:10:10] DEBUG.ks.bridge /qr/start HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-13 04:10:10] INFO.qr.start 已拉起真二维码 {"transport":"bridge","has_qr_image":false,"hint":null} [2026-10-13 04:10:15] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-13 04:10:20] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-13 04:10:25] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-13 04:10:30] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-13 04:10:35] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-13 04:10:40] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-13 04:10:45] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-13 04:10:50] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-13 04:10:55] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-13 04:11:00] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-13 04:11:05] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-13 04:11:10] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-13 04:11:15] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-13 04:11:21] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-13 07:27:35] WARN.auth.login_failed 登录失败:账号或密码错误 {"username":"","ip":"136.86.213.18"} [ data/logs/app-2026-10-14.log ] [2026-10-14 23:55:15] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-14 23:55:19] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-14 23:55:22] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-14 23:55:25] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-14 23:55:28] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-14 23:55:30] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-14 23:55:34] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-14 23:55:36] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-14 23:55:39] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-14 23:55:40] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-14 23:55:43] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-14 23:55:46] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-14 23:55:49] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-14 23:55:52] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-14 23:55:55] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-14 23:55:57] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-14 23:56:10] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-14 23:56:14] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-14 23:56:49] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-14 23:57:24] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-14 23:57:59] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-14 23:58:34] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-14 23:58:47] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-14 23:58:51] DEBUG.ks.bridge /qr/start HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-14 23:58:51] INFO.qr.start 已拉起真二维码 {"transport":"bridge","has_qr_image":false,"hint":null} [2026-10-14 23:58:54] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-14 23:58:57] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-14 23:59:00] DEBUG.ks.bridge /qr/poll HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-14 23:59:22] INFO.auth.login 登录成功 {"username":"admin"} [2026-10-14 23:59:26] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [ data/logs/app-2026-10-15.log ] [2026-10-15 00:17:19] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-15 00:18:19] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-15 00:19:19] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-15 00:20:19] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-15 00:21:19] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-15 00:22:19] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-15 00:23:19] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-15 06:00:54] WARN.auth.login_failed 登录失败:账号或密码错误 {"username":"","ip":"170.64.146.129"} [2026-10-15 11:31:58] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-15 11:31:58] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-15 11:32:14] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-15 11:32:17] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-15 11:32:26] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-15 11:33:01] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-15 11:33:36] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-15 11:34:12] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-15 11:34:47] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-15 11:35:48] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-15 11:36:20] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-15 11:37:20] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-15 11:38:20] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-15 11:39:20] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-15 11:40:20] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-15 11:41:20] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-15 11:42:20] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-15 11:43:20] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-15 11:44:23] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-15 12:16:37] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-15 12:16:37] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [2026-10-15 12:16:41] DEBUG.ks.bridge /qr/refresh HTTP 200,用时 0.00s {"ok":null,"err":null} [ data/logs/app-2026-10-16.log ] [2026-10-16 06:52:12] WARN.auth.login_failed 登录失败:账号或密码错误 {"username":"","ip":"136.92.19.174"} [2026-10-16 16:21:26] WARN.auth.login_failed 登录失败:账号或密码错误 {"username":"","ip":"34.152.41.41"} [2026-10-16 16:21:27] WARN.auth.login_failed 登录失败:账号或密码错误 {"username":"","ip":"34.152.41.41"} [2026-10-16 16:21:28] WARN.auth.login_failed 登录失败:账号或密码错误 {"username":"","ip":"34.152.41.41"} [ data/logs/app-2026-10-17.log ] [2026-10-17 01:23:55] WARN.php.notice Array to string conversion {"file":"/www/wwwroot/app.winktime.xyz/app/Services/WorkerService.php","line":110} [ data/logs/app-2026-10-18.log ] [2026-10-18 07:33:30] WARN.auth.login_failed 登录失败:账号或密码错误 {"username":"","ip":"34.150.112.212"} [2026-10-18 07:33:30] WARN.auth.login_failed 登录失败:账号或密码错误 {"username":"","ip":"34.150.112.212"} [2026-10-18 07:33:31] WARN.auth.login_failed 登录失败:账号或密码错误 {"username":"","ip":"34.150.112.212"} [ data/logs/app-2026-10-19.log ] [2026-10-19 16:21:02] WARN.auth.login_failed 登录失败:账号或密码错误 {"username":"","ip":"35.230.96.215"} [ data/logs/app-2026-10-20.log ] [2026-10-20 00:53:07] WARN.auth.login_failed 登录失败:账号或密码错误 {"username":"","ip":"35.247.245.80"} [2026-10-20 05:45:56] WARN.auth.login_failed 登录失败:账号或密码错误 {"username":"","ip":"35.247.245.80"} [2026-10-20 09:02:29] WARN.auth.login_failed 登录失败:账号或密码错误 {"username":"","ip":"35.247.245.80"} [2026-10-20 14:29:14] WARN.auth.login_failed 登录失败:账号或密码错误 {"username":"","ip":"35.230.96.215"} [2026-10-20 20:04:02] WARN.auth.login_failed 登录失败:账号或密码错误 {"username":"","ip":"35.230.96.215"} [2026-10-20 21:16:14] WARN.auth.login_failed 登录失败:账号或密码错误 {"username":"","ip":"35.247.245.80"} [ data/logs/app-2026-10-21.log ] [2026-10-21 01:36:57] WARN.auth.login_failed 登录失败:账号或密码错误 {"username":"","ip":"34.22.183.181"} [2026-10-21 23:18:57] INFO.auth.login 登录成功 {"username":"admin"} [ data/logs/app-2026-10-24.log ] [2026-10-24 03:22:04] WARN.auth.login_failed 登录失败:账号或密码错误 {"username":"","ip":"34.142.159.72"} [2026-10-24 03:22:04] WARN.auth.login_failed 登录失败:账号或密码错误 {"username":"","ip":"34.142.159.72"} [2026-10-24 03:22:05] WARN.auth.login_failed 登录失败:账号或密码错误 {"username":"","ip":"34.142.159.72"} --- 应用入口自检 --- public/index.php 存在 ✓ 入口语法检查 ✓ 通过(/www/server/php/85/bin/php -l) 配置读取 驱动=sqlite 传输=bridge debug=false --- 服务器负载与内存(整站卡时先看这里)--- 负载(1/5/15 分钟): 0.06 / 0.11 / 0.14 内存: 总 7684 MB / 可用 5296 MB Chromium 进程数: 7 --- 会话(登录是否正常的关键)--- session.save_path = (空,用系统默认 /tmp 或 /var/lib/php/session) 项目内 data/sessions: 存在且可写(新版本会自动使用它) 会话保持自检: 首次访问;刷新本页再看一次 —— 若仍非"通过",说明 Session 存不住(登录会失败) 当前会话 id: b9b34b35247c51b6b51cbdc8be479027 ================ 结论 ================ 环境检查未发现问题。若页面仍报错,请把本页内容 + data/logs/ 下最新日志发给开发者。 提示:安装期报「系统繁忙,请稍后再试」通常是 data 目录不可写或扩展缺失; 本版已改为在未安装时直接显示真实异常(刷新 /install 即可看到具体文件与行号)。