跳到内容

将路径升级到PHP 8

onli编辑了这个页面2023年9月28日·7次修订

如果你想用PHP 8运行Serendipity,请遵循本指南。

上下文

Serendipity在版本之前与PHP 8不兼容2.4个底座1,目前以稳定的形式发布2.4.0。早期版本将报告许多兼容性警告和一些致命错误。更糟糕的是,使用的模板引擎Smarty的当前版本与PHP8部分不兼容。

2.4-beta1修复了核心代码和核心主题模板中的所有警告,并更改了先前的错误报告,使主题和插件中的非致命错误不再停止代码执行。同时,所有附加主题和许多插件都被修复为在与2.4-beta1一起运行时与PHP8.0兼容。

PHP 8.2与2.4也不完全兼容。2.5贝塔1如果运行PHP8.2或PHP8.1,则使用或更高版本(但应直接跳到PHP8.2)。2.5-beta1还与PHP 7.4兼容,因此您可以按照下面的升级提示,从PHP 7.4的Serendipity 2.3.5跳到PHP 8.2的Serendipity 2.5-beta。

升级准备

假设您当前使用PHP 7.3或7.4运行Serendipity 2.3.5。如果不是这样的话,请先将这些意外发现和PHP版本的升级问题降到最低。

此外,还要进行备份。我们都知道,偶然性升级在过去几乎总是没有任何问题。但这一次的变化是显著的,PHP 8本身就引入了新的潜在错误。

现在,升级所有插件。旧插件版本肯定会导致PHP8出现问题。您还应该卸载旧的自定义插件(如果有),并在开发设置中将其升级为与PHP8兼容(旧的PHP代码几乎肯定不兼容!)。

如果您运行分叉主题,请考虑暂时切换回2k11。与核心捆绑的主题(如2k11)将被必要的修复覆盖。但分叉主题或斯巴达克斯的主题不会被自动覆盖。这可能会在以后导致错误。使用2k11可以解决这个问题。

您已准备好将Serendipity升级到2.4.0。

您的博客现在应该可以在PHP7上使用Serendipity 2.4.0了。

如果您到目前为止使用过它,请禁用注释侧栏插件(意外发现插件注释). 2.4.0版本中潜入了一个错误,并将在PHP8上触发(这是用2.5-beta1修复的)。

最后,可以将服务器设置为PHP8。你的幸运博客应该继续工作。