手册应该插件 插件是一个包含一组功能的软件,可以添加到WordPress网站。他们可以扩展功能或为WordPress网站添加新功能。WordPress插件是用PHP编程语言编写的,并与WordPres无缝集成。这些可以在WordPress.org插件目录中免费https://wordpress.org/插件/或者可以是第三方基于成本的插件如果主题更新过程失败,回滚功能将自动恢复以前安装的版本,以确保网站对用户仍然可用。
回滚功能起源于#51857.
更新插件或主题时,插件或主题的旧版本将移至wp-content/upgrade-temp-backup/plugins/PLUGINNAME
或wp-content/upgrade-temp-backup/themes/THEMENAME
文件夹。
我们选择移动而不是压缩的原因是,压缩/解压缩是资源密集型过程,可能会增加低端共享主机的故障风险。另一方面,移动文件是即时执行的,不会成为瓶颈。
移动通过以下方式完成新的移动()
功能包含在WordPress 6.2中。菲律宾比索 WordPress主要使用的web脚本语言。WordPress需要PHP 5.6.20或更高版本的重命名()
用于此,并回退到copy_dir()
,使用的递归文件副本核心 核心是运行WordPress所需的一组软件。核心开发团队构建WordPress。很长一段时间。移动_目录()
使用::移动()
方法WP_文件系统_直接, WP_文件系统_文本, WP文件系统套接字、和WP_文件系统_SSH2文件系统抽象,并有一个回退到copy_dir()
。有关更多信息,请访问移动_目录()
发展记录.
如果更新过程失败,那么我们在“upgrade-tempbackup”文件夹中移动的备份将恢复到其原始位置。如果更新成功,则删除备份。
在Site Health屏幕中添加了两项新检查:
- 检查以确保备份文件夹是可写的。
- 检查是否有足够的可用磁盘空间来安全执行更新。
为了避免混淆:“upgrade-tempbackup”文件夹将不会用于在成功的更新。您可以使用各种回滚插件为了这个。
“upgrade-tempbackup”文件夹只包含之前安装的插件或更新主题的临时备份,更新过程一结束,文件夹就会清空。
当回滚发生时,用户应该只看到有一个更新挂起,并且他们的站点应该仍在工作。
对于导致手动更新失败和回滚的原因,最简单的解释是返回WP_错误
来自WP_Upgrader::install_package()
.
- 错误的请求,缺少更新的源或目标。
- A类
WP_错误
从返回升级_预安装
, upgrader_source_selection(升级源选择)
, 升级清除目标
, upgrader_post_install(升级后安装)
过滤器。
- 一个空的下载包。
- 将已安装的插件/主题移动到temp-backup目录时出错。
- 如果无法清除远程源目标文件夹,并且存在某些内容。
- 无法创建远程目标文件夹。
- 无法将更新移动/复制到远程目标。
2023年8月2日更新@阿夫拉根
以上包括回滚功能的第1部分和第2部分。第3部分,希望适用于WordPress 6.4,是相同的过程,但用于自动更新。明确地,回滚部分3检查更新的插件在激活时是否不会导致PHP致命错误。如果是,则会捕获此错误,并恢复以前安装的版本。
所有回滚功能(第1-3部分)都包括在中进行测试回滚更新失败 功能插件 一个插件,其创建目的是最终被提议包含在WordPress Core中。请参见作为插件的功能..
道具 @成本开发 供同行审查,@史蒂文林克斯和@德斯罗什 供审查.
#6-3,#开发说明,#开发说明6-3,#道具