1. 程式人生 > >將Wordpress站點從虛擬主機移植到本地伺服器

將Wordpress站點從虛擬主機移植到本地伺服器

為了方便對模板就行修改,經常需要映象wordpress站點到本地。

本文將一步一步的介紹操作過程以及需要注意的事項

1. 環境說明

本地伺服器使用WAMP

假定線上站點域名為 www.domain_name.com

本地站點連結為 localhost:8080/domain_name/

WAMP的網站目錄為c:\wamp\www

2. 複製站點檔案到本地

使用FTP客戶端連線線上站點,下載htdocs資料夾下的所有檔案,並複製到 c:\wamp\www\domain_name/資料夾下

(注:虛擬主機通常使用htdocs作為網站檔案的根目錄而不是www,域名通常幫頂下此資料夾)

3. 匯出資料庫

可以使用cpanel自帶的mysqladmin工具匯出整個資料庫。下載到本地。

如果資料庫過大而伺服器設定的timeout值太小或記憶體過小,通常匯出整個資料庫會失敗。

這時可以分割資料庫,一次選擇下載幾張表或者一個表的數條資料。

4. 在本地配置資料庫並匯入資料

使用WAMP提供的mysql admin工具(此文中預設網址為 localhost:8080/phpmyadmin/)建立一個與線上網站資料庫同名的資料庫,這裡假定叫company_db.

設定資料庫許可權。

匯入下載好的資料庫檔案。(如果資料庫檔案很大,可能需要調整php的上傳檔案大小限制)

5. 替換資料庫中的域名字串

在本地的phpmyadmin中執行以下示例query

UPDATE wp_postmeta SET meta_value = replace(meta_value, 'http://www.domain_name.com.au', 'http://localhost:8080/domain_name');# MySQL returned an empty result set (i.e. zero rows).
 
 
UPDATE wp_options SET option_value = replace(option_value, 'http://www.domain_name.com.au', 'http://localhost:8080/domain_name') WHERE option_name = 'home' OR option_name = 'siteurl';# MySQL returned an empty result set (i.e. zero rows).
 
 
UPDATE wp_posts SET guid = replace(guid, 'http://www.domain_name.com.au','http://localhost:8080/domain_name');# MySQL returned an empty result set (i.e. zero rows).
 
 
UPDATE wp_posts SET post_content = replace(post_content, 'http://www.domain_name.com.au', 'http://localhost:8080/domain_name');# MySQL returned an empty result set (i.e. zero rows).

6. 修改wp-config.php檔案中的資料庫設定
define('DB_NAME', 'company_db');
 
/** MySQL database username */
define('DB_USER', 'root'); 
 
/** MySQL database password */
define('DB_PASSWORD', '你本地mysql的密碼,wamp初始為空');

7.測試

此時使用 http://localhost:8080/domain_name/ 進行測試,就能發現站點已經被成功複製到本地了。