2015-08-15 49 views
-4

我在家裏託管了一個Wordpress網站,但現在決定在其他地方安置它。不幸的是,直接將它複製到一個新的主機,我不明白它的工作原理。我只看到PHP代碼打印機沒有任何錯誤。WordPress的白頁與PHP代碼

請看看這個網頁,讓您可以看到自己:

errors[$code][] = $message; 
if (! empty($data)) 
    $this->error_data[$code] = $data; 
} 
/** 
* Retrieve all error codes. 
* * @since 2.1.0 
* @access public 
* * @return array List of error codes, if available. */ 
public function get_error_codes() { 
    if (empty($this->errors)) return array(); 
    return array_keys($this->errors); 
} 
/** 
* Retrieve first error code available. * 
* @since 2.1.0 
* @access public * 
* @return string|int Empty string, if no error codes. */ 
public function get_error_code() { 
    $codes = $this->get_error_codes(); 
    if (empty($codes)) return ''; 
    return $codes[0]; 
} 
/** 
* Retrieve all error messages or error messages matching code. * 
* @since 2.1.0 * 
* @param string|int $code Optional. Retrieve messages matching code, if exists. 
* @return array Error strings on success, or empty array on failure (if using code parameter). */ 
public function get_error_messages($code = '') { 
    // Return all messages if no code specified. 
    if (empty($code)) { 
     $all_messages = array(); 
     foreach ((array) $this->errors as $code => $messages) 
      $all_messages = array_merge($all_messages, $messages); 
     return $all_messages; 
    } 
    if (isset($this->errors[$code])) 
     return $this->errors[$code]; 
    else 
     return array(); 
} 
/** 
* Get single error message. * 
* This will get the first message available for the code. If no code is 
* given then the first code available will be used. * 
* @since 2.1.0 * 
* @param string|int $code Optional. Error code to retrieve message. 
* @return string */ 
public function get_error_message($code = '') { 
    if (empty($code)) $code = $this->get_error_code(); 
    $messages = $this->get_error_messages($code); 
    if (empty($messages)) return ''; 
    return $messages[0]; 
} 
/** 
* Retrieve error data for error code. * 
* @since 2.1.0 * 
* @param string|int $code Optional. Error code. 
* @return mixed Null, if no errors. */ 
public function get_error_data($code = '') { 
    if (empty($code)) 
     $code = $this->get_error_code(); 
    if (isset($this->error_data[$code])) 
     return $this->error_data[$code]; 
    return null; 
} 
/** 
* Add an error or append additional message to an existing error. * 
* @since 2.1.0 
* @access public * 
* @param string|int $code Error code. 
* @param string $message Error message. 
* @param mixed $data Optional. Error data. */ 
public function add($code, $message, $data = '') { 
    $this->errors[$code][] = $message; 
    if (! empty($data)) 
     $this->error_data[$code] = $data; 
} 
/** 
* Add data for error code. * 
* The error code can only contain one error data. * 
* @since 2.1.0 * 
* @param mixed $data Error data. 
* @param string|int $code Error code. */ 
public function add_data($data, $code = '') { 
    if (empty($code)) $code = $this->get_error_code(); 
    $this->error_data[$code] = $data; 
} 
/** 
* Removes the specified error. * 
* This function removes all error messages associated with the specified 
* error code, along with any error data for that code. * 
* @since 4.1.0 * 
* @param string|int $code Error code. */ 
public function remove($code) { 
    unset($this->errors[ $code ]); 
    unset($this->error_data[ $code ]); 
} 
} 
/** 
* Check whether variable is a WordPress Error. * 
* Returns true if $thing is an object of the WP_Error class. * 
* @since 2.1.0 * 
* @param mixed $thing Check if unknown variable is a WP_Error object. 
* @return bool True, if WP_Error. False, if not WP_Error. */ 
function is_wp_error($thing) { 
    return ($thing instanceof WP_Error); 
} 

這到底意味着什麼?過時的PHP代碼?過時的WordPress?在服務器上缺少模塊?

希望有人可以提供幫助。

親切的問候, 羅賓

回答

-1

WordPress的大多存儲在數據庫中。當你說你複製代碼時,你是否移動了數據庫?您輸出中的所有內容都表明NULL是常見因素。有些東西肯定沒有正確連接。

如果您更改了主機並複製了數據庫,您是否確保在新託管中創建WordPress使用的完全相同的用戶名和密碼?

如果沒有,你將無法訪問任何東西。 WordPress使用數據庫來處理幾乎所有的事情。

1

之前,SO主持人刪除了鏈接到您的網站,並用輸出替換它(這是非常好的 - 這是爲了您自己的安全)我注意到鏈接並在您的網站周圍戳了一下。

它看起來像Apache配置正確。例如,當我訪問/wp-content/index.php時,我得到一個很好的200 OK響應。這意味着,index.php文件被正確解析,否則你將在瀏覽器中看到:

<?php 
// Silence is golden. 

這是該文件的內容。

而且常規文件似乎正常加載,就像/wp-content/themes/twentyfifteen/screenshot.png和/wp-content/themes/twentyfifteen/style.css

因此,「缺少在服務器上的模塊」並不是最有可能的人選。

看看/readme.html文件,它建議你的WP版本是4.2.4--這是當前最新版本,僅在兩週前發佈。這幾乎排除「過時的PHP代碼和過時的WordPress」

我認爲這個問題是「從字面上複製到一個新的主機」的結果。 /wp-config.php中有可能需要更改的設置,例如數據庫連接設置或'WPCACHEHOME'的路徑。數據庫中的條目可能包含或基於具有臨時「本地主機」地址的URL,而不是您的新實際網站地址。

如果這個環節上的「更改您的域名和網址」下看看:https://codex.wordpress.org/Moving_WordPress 有一個一步一步的指導如何準備你的網站時,它涉及到不同的網址,它從一臺服務器轉移到另一臺。

除了那裏描述的內容之外 - 如果您已經配置了任何緩存,我建議在您的工作本地版本上禁用緩存,並在遵循這些步驟之前清除緩存,並在網站使用新的緩存之後重新啓用緩存位置。它看起來像你現在在屏幕上看到的輸出,是文件/wp-includes/class-wp-error.php的代碼的一部分,這可能意外地被緩存爲錯誤頁面。