以下是可能的原因:
- runtime 缓存异常
- 目录权限不足
- 首页静态文件为 0KB、模板 / 标签错误
- PHP 报错被屏蔽
解决:
一、紧急恢复(立即见效)
后台清缓存并更新:登录后台 → 右上角【清理缓存】 → 【更新首页 / 更新整站】。
手动清理服务器缓存:通过 FTP / 宝塔进入网站根目录,删除 runtime/ 下所有文件(保留目录);若存在 index.html 且大小为0KB,一并删除。
浏览器强制刷新:Ctrl+F5(Windows)/ Cmd+Shift+R(Mac),排除浏览器缓存干扰。
二、根治方案(防止复发)
- 修复目录权限(关键)
Linux/Mac:将 runtime/、static/、upload/ 目录权限设为 755,文件为 644;宝塔面板可批量设置。
Windows:确保 IIS 用户或运行账户有写入 / 修改权限。
验证:清理缓存后,runtime/ 能重新生成文件即为正常。
- 关闭 / 调整自动静态生成
后台 → 系统设置 → 核心设置 → 关闭【自动生成静态首页】,改为动态渲染,避免生成 0KB 文件。
若需静态,勾选【更新缓存时自动生成首页】,并确保服务器磁盘有足够空间。 - 修复模板与标签错误
恢复默认模板测试:后台 → 模板管理 → 切换默认模板,访问首页。若正常,说明原模板有问题。
检查标签:老版本中多分页列表标签、未声明 lfield 的 {pboot:list} 可能导致解析失败,补全参数或升级 CMS。 - 开启 PHP 错误显示(定位隐性报错)
在网站根目录 index.php 头部添加:
error_reporting(E_ALL);
ini_set('display_errors', 1);
访问首页查看具体错误,针对性修复后再注释掉。
- 升级与配置优化
下载 PbootCMS 最新版,覆盖核心文件(保留 config/、template/、upload/),修复已知缓存 BUG。
配置缓存策略:后台 → 系统设置 → 缓存设置,缩短缓存有效期,或开启【页面缓存自动更新】。
若用 CDN,添加首页 URL 到 CDN 刷新白名单,避免旧缓存覆盖。 定时自动清理缓存
宝塔面板 → 计划任务 → 添加任务,执行命令:rm -rf /www/wwwroot/你的域名/runtime/*
周期设为每日凌晨。
或在 config/ 中添加配置,禁用非必要缓存:define('PBOOT_CACHE_OPEN', false);(仅临时排查用)。
三、排查顺序
删除 0KB index.html 与 runtime 缓存 → 2. 修复目录权限 → 3. 切换默认模板 → 4. 开启 PHP 错误显示 → 5. 升级 CMS → 6. 配置 CDN / 定时任务。
