当前位置:网站首页 >  百科

迅睿CMS常见模板报错的快速排查与手把手修复实操指南

时间:2026年06月10日 21:20:48 来源:易频IT社区

报错排查前置准备

修复模板报错前,必须先开启调试模式获取准确的报错位置和原因,否则只会看到空白页面无法定位问题,开启方法分两种场景:

  • 可以正常登录后台的场景:
    • 访问你的域名/admin.php,输入账号密码登录后台
    • 点击左侧菜单栏系统设置开发配置
    • 找到是否开启调试模式选项,勾选「是」,点击保存配置即可
  • 无法登录后台的场景:

    通过FTP或者主机文件管理器,打开网站根目录下的config/system.php文件,在文件顶部下方添加以下代码,保存后上传覆盖即可: ``` // 开启调试模式 define('SYS_DEBUG', TRUE); define('SYS_ERROR_LOG', TRUE); ```

开启调试后,刷新报错的前端页面,就能得到具体的错误信息、错误文件路径和行号,接下来按照对应报错类型修复即可。

常见模板报错分类修复步骤

1. 模板标签语法错误

常见报错提示:syntax error, unexpected ...,一般是标签未闭合、语法不符合迅睿规范导致,修复步骤:

  • 根据报错信息给出的行号,打开对应模板文件,模板文件默认路径为:网站根目录/templates/你的当前模板名称/
  • 检查报错行附近的标签,按以下规则排查:
    • 所有循环标签{loop $变量 $key $value}必须对应闭合标签{/loop},漏写必须补上
    • 变量输出必须符合规范,正确写法为{$变量名},不能漏写$符号或大括号
    • 条件判断标签必须正确闭合,正确语法示例如下: ``` {if $id == 1} 输出内容1 {elseif $id == 2} 输出内容2 {else} 默认输出内容 {/if} ```
  • 修改完成后,回到后台点击系统设置更新缓存,更新全站缓存后刷新页面即可验证。

2. 未定义变量报错

迅睿CMS常见模板报错的快速排查与手把手修复实操指南

常见报错提示:Undefined variable: ...,一般是调用了当前页面没有赋值的变量导致,修复步骤:

  • 如果是不需要强制显示的变量,直接在变量外层增加非空判断即可,不影响页面功能,示例写法: ``` {if isset($详情内容变量)} {$详情内容变量} {/if} ``` 比如在列表页误调用了详情页才有的{$content}变量,加上判断后就不会报错。
  • 如果是需要显示的自定义变量,检查对应模块配置、控制器代码是否给当前页面传递了该变量,遗漏赋值就补上对应赋值代码;如果不需要该变量直接删除调用代码即可。
  • 修改完成后更新全站缓存,刷新页面验证。

3. 模板文件不存在报错

常见报错提示:Unable to find the template file ...,原因是模板文件丢失或调用路径错误,修复步骤:

  • 根据报错给出的文件路径,到对应模板目录下检查文件是否存在,比如报错提示找不到news/show.html,就去/templates/你的模板名/news/目录下检查。
  • 如果文件确实不存在:如果是你自己修改删除的,从本地备份恢复上传即可;如果是默认模板文件丢失,可以从官方地址下载默认模板包提取对应文件:https://www.xunruicms.com/download/default-template.zip,解压后提取对应文件上传到正确路径即可。
  • 如果文件存在,检查调用路径写法,迅睿正确调用子模板的写法为:{template "目录名/文件名.html"},错误写法一般是遗漏了目录层级,比如错误写法{template "show.html"},正确写法是{template "news/show.html"}
  • 修改后更新缓存,刷新验证。

4. 权限不足导致编译报错

常见报错提示:failed to open stream: Permission denied ...,原因是服务器没有给缓存目录和模板目录写入权限,导致迅睿无法编译模板,修复步骤:

  • 找到网站根目录下的两个目录:cache(缓存目录)、templates(模板目录)
  • 设置两个目录的权限为可读写:
    • 宝塔面板用户:进入面板文件管理,选中两个目录,点击「权限」,输入权限值755,保存即可
    • FTP手动修改:右键对应目录,选择「文件权限」,输入755,勾选递归应用到子目录,保存即可,如果755仍然报错,可以临时改为777测试,修复后改回755即可
  • 权限设置完成后,清空cache目录下的所有文件,回到后台更新全站缓存,刷新页面即可。

修复完成收尾操作

所有报错修复验证完成后,必须关闭调试模式,避免泄露服务器敏感信息,操作步骤:

  • 可以登录后台的场景:进入「系统设置」→「开发配置」,把「是否开启调试模式」改回「否」,保存即可
  • 手动开启调试的场景:打开之前修改的config/system.php文件,删除之前添加的两行调试代码,保存上传覆盖即可
  • 最后更新一次全站缓存,整个修复流程完成。

注意:所有操作前请先备份当前模板文件,避免修改错误无法恢复。

相关推荐

最新

热门

推荐

精选

标签

易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。

Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图