WordPress升级时提示“正在执行例行维护,请一分钟后回来”卡住的问题解决

wordpress升级主程序、主题、插件时卡住

我们在对wordpress主程序、wordpress主题或者wordpress插件升级的时候,在升级过程自动安装中有时候会出现“正在执行例行维护,请一分钟后回来”的提示,一般在升级结束之后就会自动回复网站原样。

但是有时候会遇到卡住的情况,也就是前端一直会显示这个提示,并且后台刷新之后也显示这个提示,无法进行操作。

遇到这个问题我们应该如何解决呢?

解决wordpress升级中卡住而无法操作的方法

通常的做法是 使用FTP登录你的网站,你会发现网站根目录下多了一个.maintenance 文件,那么删除WordPress根目录下的 .maintenance ,刷新即可恢复。

而有的时候,在某些服务器上,登陆FTP查看网站文件无法找到.maintenance 文件,这也有可能是卡住之后某些程序没有正常运行所造成的,因此你可以尝试在电脑上创建一个空的txt文件,并将此文件命名为.maintenance ,传到你的网站根目录下,刷新网站即可恢复正常,并且刷新ftp目录,也会发现这个文件自动消失了。

如果这样做还是无法解决,那么你可以通过修改wordpress源文件让这个文件必须显示出来:

在wordpress目录下找到 /wp-admin/includes/class-wp-filesystem-direct.php 打开,查找如下代码:

function mkdir($path, $chmod = false, $chown = false, $chgrp = false) {
// safe mode fails with a trailing slash under certain PHP versions.
$path = untrailingslashit($path);
if ( empty($path) )
return false;
if ( ! $chmod )
$chmod = FS_CHMOD_DIR;
if ( ! @mkdir($path) )
return false;
$this->chmod($path, $chmod);
if ( $chown )
$this->chown($path, $chown);
if ( $chgrp )
$this->chgrp($path, $chgrp);
return true;
}

将其修改为:

function mkdir($path, $chmod = false, $chown = false, $chgrp = false) {
// safe mode fails with a trailing slash under certain PHP versions.
if ( ! $chmod )
$chmod = $this->permission;
if(ini_get(‘safe_mode’) && substr($path, -1) == ‘/’)
{
$path = substr($path, 0, -1);
}
if ( ! @mkdir($path) )
return false;
$this->chmod($path, $chmod);
if ( $chown )
$this->chown($path, $chown);
if ( $chgrp )
$this->chgrp($path, $chgrp);
return true;
}

保存上传之后,根目录下.maintenance 文件又出现了,那么进行删除即可恢复好正常状态了。


WordPress