维护与健康检查
健康检查、数据清理、伪 cron 调度器以及 PHP 版本保护机制。
视频网站的运维是一个持续变化的过程:PHP 版本不断更新、磁盘空间日益耗尽、缓存随时间失效,上线前测试数据也会不断积累。TubePress 提供了一个统一的"维护"选项卡,让您无需 Shell 访问权限即可查看服务器状态并安全地清理数据。
本页介绍内置健康检查、批量清除工具、执行例行任务的调度器、防止 PHP 版本不匹配导致白屏的版本守卫,以及保持数据库精简的一些良好习惯。
健康检查
打开 /admin/settings,选择 维护 选项卡即可运行健康检查。它会探测服务器的数十项配置,并将结果归类展示——每行显示当前值、推荐值,以及在出现异常时可直接复制粘贴的修复命令。顶部横幅会将整体状态汇总为 所有系统正常、有改进建议 或 发现问题。
每项检查结果为以下三种状态之一:
报告涵盖以下类别:
- PHP & PHP 扩展 — PHP 版本及扩展列表(必需:
pdo_mysql、mbstring、json、curl;推荐:fileinfo、intl、zip、zlib、gd、openssl、ftp),每项均标注其所支持的功能。 - PHP 配置 —
memory_limit、max_execution_time、upload_max_filesize、post_max_size、max_input_vars、allow_url_fopen和file_uploads。 - 权限 — 检查
storage/和public/uploads/是否可写(以及导入、备份和主题编辑器所需的可选目录)。 - 数据库 — 连接状态、MySQL 版本及
utf8mb4字符集。 - 安全 — HTTPS、
display_errors和expose_php。 - 性能、系统工具 & 磁盘空间 — OPcache、PHP CLI 可执行文件、FFmpeg/FFprobe、下载队列 worker 以及上传卷的可用磁盘空间。
intl 而新 PHP 中缺失)的最快方法。清除 & 清理
维护选项卡中的 清除 部分是用于永久批量删除整类数据的危险区域。勾选要删除的数据类型,输入 DELETE 确认,数据即被移除。您可以清除以下任意类型:
- 视频(及其评论、点赞、收藏和历史记录)、分类、标签、色情演员 和 频道
- 评论、页面 和 导入任务(已导入的视频本身会被保留)
- 用户 — 仅非管理员账户;管理员账户始终予以保留
删除操作在单一锁保护下以较小的服务器限制分块运行,因此即使目录中有数百万行,也不会导致请求超时或阻塞正在运行的网站。这是上线前清除种子数据或演示内容的最快方式。
伪 cron
例行工作——重新计算排名、分发转码任务、执行导入、刷新 sitemap 以及自我清理——由一个无需系统 crontab 的内置调度器处理。它随页面渲染而触发,并通过轻量级心跳保持活跃,因此计划任务会自动执行,即使在共享主机上也不例外。
完整说明(包括适用于高级主机的可选 CLI 脚本)请参阅 Cron & CLI 页面。
PHP 版本守卫
TubePress 需要 PHP 8.2 或更新版本。为了让版本不匹配表现得友好而非致命,一个微型守卫会在应用启动 之前 于每个入口点运行。它采用故意古老的 PHP 5 兼容语法编写,能在 任何 PHP 版本上解析——这意味着运行 PHP 版本过低的服务器会显示一个简洁的"需要升级 PHP"页面(包含 HTTP 500 状态码和 Retry-After 提示),而不是原始解析错误或空白白屏。在命令行中,它会将相同的消息输出到标准错误。
保持数据库整洁
定期维护可让查询保持高效、备份更加精简:
- 批量操作前先备份。 在进行任何清除、导入或更新操作前,保有最新的 备份 会更加安全。
- 上线前使用清除工具清除测试数据, 以确保生产目录从干净的状态开始。
- 让调度器负责日常维护。 定期清理通过伪 cron 自动运行,您无需手动修剪日志或缓存。
- 保持字符集为
utf8mb4(健康检查会确认这一点),以确保每种语言和 emoji 均能正确存储。
后续步骤