今天我们发布了 XenForo 2.3.0 候选版本 5。虽然此版本的主要内容是修复错误和提高稳定性,但也有一些值得注意的变化。
自动清理旧文件
升级到 XenForo 2.3 后,XenForo 安装将在文件系统中保留一些不再使用的文件。任何已存在一段时间的 XenForo 安装都会在较小程度上存在类似的问题。这些文件本身不应该出现任何问题,但同时,保留它们也没有多大意义。
有三种方法可以自动清理遗留文件。
一键升级期间
一键升级现在有一个特殊步骤,用于删除升级前版本中存在、但安装的版本中不再存在的文件。此时我们已经知道我们拥有文件系统中文件的写入权限,因此在大多数情况下删除这些文件应该不会有任何问题。
手动升级期间
每次升级后,我们还会根据从文件中枚举的文件列表,将文件清理任务排入队列hashes.json。如果可能,您的src/vendor、src/vendor-patch和src/XF目录中未列出的所有内容hashes.json都将自动删除。如果不可能,我们将在您的服务器错误日志中记录错误。
通过运行命令
如果写访问是一个问题,您可以登录到服务器 shell/CLI 并运行以下命令:
重击:
php cmd.php xf:file-clean-up XF
只要 CLI 用户对您的 XenForo 目录有写权限,旧文件就会被删除。
手动清理文件
如果其他方法都失败了,而您仍然希望删除遗留文件,我们建议您采用以下方法:
- 关闭你的论坛
- 删除以下目录的内容:
- src/vendor
- src/vendor-patch
- src/XF
- 重新上传当前版本的文件
清理官方附加组件的文件
每次升级后,我们还会自动尝试清理官方附加组件的文件。同样,如果我们在清理过程中遇到写入问题,错误日志将记录在您的服务器错误日志中。您可以运行上面列出的相同命令(使用 、XFRM或XFES代替XFMG作为XF参数),或者按照 下相关附加组件的上述手动清理步骤进行操作src/addons。
清理第三方附加组件的文件
希望触发自动清理其自身文件的开发人员可以通过在其附加Setup类中调用下列方法来实现postUpgrade:
PHP的:
$this->enqueuePostUpgradeCleanUp();
附加组件的热门内容支持
从候选版本 5 开始,我们为 XenForo 资源管理器和媒体库添加了对热门内容的支持。
附件的永久文件名
我们改变了附件文件名在文件系统上的保存方式。每个附件现在都会获得一个随机file_key值,该值用于确定文件系统上的文件名。对于较旧的附件,此值将默认为当前file_hash值。进行此更改的主要原因是特定附件或缩略图的 URL 或路径在优化后将不再改变(优化会改变值file_hash,从而改变文件名)。
这就是本周的全部内容。有关此版本中修复的错误的更多具体详细信息,请参阅
已解决的错误论坛。
这是预发布软件。它不受官方支持。
我们不建议在生产环境中运行它。
请记住,这是
预发布软件。它包含已知错误和不完整的功能。
我们不建议在生产环境中运行预发布软件,并且目前支持仅限于社区论坛上的问题。
升级到 2.3 后,附加组件和自定义样式可能会损坏。您必须彻底测试您的附加组件或查找更新。对于功能与 2.3 版相似的附加组件,请特别小心;这些附加组件可能会与核心 XenForo 数据冲突。如果发现数据冲突,则需要在新附加组件版本中解决,或在
升级到 2.3 之前删除附加组件。
如果您选择运行预发布软件,则您有责任确保备份
数据。我们建议您在尝试升级之前执行此操作。如果有疑问,请始终在生产数据的副本上进行测试升级。