解决 WordPress“正在执行例行维护,请一分钟后回来

WordPress在升级程序、主题、插件时,都会先切换到维护模式,也就是显示 “正在执行例行维护,请一分钟后回来(Briefly unavailable for scheduled maintenance. Check back in a minute)”,如果升级顺利,也就几秒左右就恢复正常;但是如果由于网速不佳等原因导致升级中断,WordPress就会一直停留在维护模式,不论前台还是后台,都一直显示“正在执行例行维护,请一分钟后回来“。

如何解决这个问题呢?

1.马上通过FTP登录你的网站,删除WordPress根目录下的 .maintenance ,刷新网页即可。

2.但是有时候你会发现,根目录根本就没有 .maintenance!倡萌最近就遇到这个问题,最初以为是隐藏了,所以使用SSH登录服务器,但是依旧没有看到,怎么办?其实有一个比较简单的办法,直接新建一个空的txt文本,上传到主机空间中,然后重命名为 .maintenance,然后你会发现 .maintenance 居然不见了!不用担心,重新刷新你的网站,是不是正常了?!

3.如果还是不行,或者你想让它以后可以显示 .maintenance ,那就打开 /wp-admin/includes/class-wp-filesystem-direct.php

找到下面的代码:

  1. function mkdir($path, $chmod = false, $chown = false, $chgrp = false) {
  2. // safe mode fails with a trailing slash under certain PHP versions.
  3. $path = untrailingslashit($path);
  4. if ( empty($path) )
  5. return false;
  6.  
  7. if ( ! $chmod )
  8. $chmod = FS_CHMOD_DIR;
  9.  
  10. if ( ! @mkdir($path) )
  11. return false;
  12. $this->chmod($path, $chmod);
  13. if ( $chown )
  14. $this->chown($path, $chown);
  15. if ( $chgrp )
  16. $this->chgrp($path, $chgrp);
  17. return true;
  18. }

将其改为:

  1. function mkdir($path, $chmod = false, $chown = false, $chgrp = false) {
  2. // safe mode fails with a trailing slash under certain PHP versions.
  3. if ( ! $chmod )
  4. $chmod = $this->permission;
  5. if(ini_get('safe_mode') && substr($path, -1) == '/')
  6. {
  7. $path = substr($path, 0, -1);
  8. }
  9. if ( ! @mkdir($path) )
  10. return false;
  11. $this->chmod($path, $chmod);
  12. if ( $chown )
  13. $this->chown($path, $chown);
  14. if ( $chgrp )
  15. $this->chgrp($path, $chgrp);
  16. return true;
  17. }

然后刷新FTP目录,是不是看到.maintenance了,删除它吧!

THE END