解決 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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
	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.
$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;
}

將其改為:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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;
}

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;
}

然後刷新FTP目錄,是不是看到.maintenance瞭,刪除它吧!

發佈留言