Z-Blog PHP 1.7.3 升级完,先别急着改主题

· 资讯 · 阅读 3
摘要

上周把手里一个站从 1.7.2 升到 1.7.3,后台进得去,前台一片空白。折腾了半天,问题不在主题代码,在模板编译缓存。 现象和第一步 前台 500,zb_users/cache/ 里能看到一堆刚生成的 .php。我一开始以为是插件冲突

上周把手里一个站从 1.7.2 升到 1.7.3,后台进得去,前台一片空白。折腾了半天,问题不在主题代码,在模板编译缓存。

现象和第一步

前台 500,zb_users/cache/ 里能看到一堆刚生成的 .php。我一开始以为是插件冲突,把插件全关掉,还是白屏。后来把主题切回默认,正常了——这就说明是我自己主题的问题。

打开错误日志,报的是模板里没定义的变量。这类问题多半是缓存里还留着旧模板编译出来的东西。

清缓存的两个层次

后台「网站设置 - 清空缓存并重新编译模板」是最省事的,它会重建 zb_users/cache/ 下编译后的模板文件。如果后台都进不去,直接删目录里的内容也行,下次访问会自动重生成。

rm -rf zb_users/cache/*

只清 zb_users/cache/ 别动 zb_users/ 下别的东西,这个目录本来就是可再生的。

升级后真正要看的几处

1.7.3 我这边没细对官方 changelog,凭感觉是模板编译和缓存这块动了。如果你主题里用了自定义的编译目录或者自己 include 了编译产物,升级前先看一遍。

另外一个容易漏的点:主题 include.php 里如果靠 $zbp->Config('主题ID') 存配置,升级后字段名不变就没问题;变了的自己补个默认值,不然 foreach 一个 null 会直接炸。

这点我没验证到每个版本都这样,可能跟你环境有关。但清缓存是零成本的,先做。