迅睿CMS 后台能进前台空白:模板缓存与目录权限排查

· 迅睿CMS · 阅读 15
摘要

迅睿CMS 后台完全正常,修改、发布都行,但一打开前台就是纯白页——这种「后能进、前空白」的组合,九成是模板编译缓存或目录权限。一、先看是不是真的空白浏览器开发者工具 Network 里看首页请求的 Response:状态码 200、Res

迅睿CMS 后台完全正常,修改、发布都行,但一打开前台就是纯白页——这种「后能进、前空白」的组合,九成是模板编译缓存或目录权限。

一、先看是不是真的空白

浏览器开发者工具 Network 里看首页请求的 Response:

  • 状态码 200、Response 为空:PHP 执行到模板渲染时 Fatal,错误被压制
  • 状态码 500:代码级错误,去日志
  • 状态码 200、只有 {"code":0} 之类 JSON:接口模式,模板没加载

二、清模板缓存(最常见)

迅睿CMS 的模板是编译型,缓存目录:

/cache/
/cache/template/
/cache/data/

把头两个目录里的文件全删掉(目录保留),再访问前台,让程序重新编译。

后台也有「清空缓存」按钮,但有时清得不干净,手动删更保险。

三、查目录权限

模板编译需要写权限,权限不足会静默失败:

chown -R www:www /www/wwwroot/站点目录
chmod -R 755 /www/wwwroot/站点目录
chmod -R 777 /www/wwwroot/站点目录/cache
chmod -R 777 /www/wwwroot/站点目录/uploadfile

只有 cache 和 uploadfile 需要 777,其他保持 755。别整个站点 777,有安全风险。

四、看 PHP 错误日志

tail -n 50 /www/wwwlogs/php-fpm.log

搜 Fatal,行号会指向具体模板文件或类文件。

五、模板标签写错

刚改过模板的话,检查循环标签是否闭合:

{loop $list $t} ... {/loop}   // 多写或漏写都会空白

常见问题

Q1:清缓存后好了,过一会儿又空白?

查 cache 目录属主是否被 root 抢了,导致 www 用户写不进去。

Q2:只有某个栏目空白,其他正常?

该栏目的模板文件缺失或写错,或栏目绑定的模块出问题。

Q3:升级后前台就空白了?

新版模板语法有变,把旧模板覆盖成新版默认模板再对比。

Q4:本地正常,服务器空白?

PHP 版本差异或扩展缺失,比对两边的 php -m 输出。