您在這裡

網站移植到新主機..應該怎麼做?MySQL4.x>MySQL5.x

Dreamwork's 的頭像
Dreamwork 在 2010-03-17 (三) 17:59 發表

我使用Drupal已經一年,想從原本的主機移植到另個主機,舊的主機是MySQL4.X,新的主機是MySQL5.X。

我目前的作法如下:
1. 從phpmyadmin下載整個資料庫。
2. 在新主機開一個名稱一樣的資料庫、資料庫使用者、密碼。
3. 把資料庫檔案上傳到新的主機資料庫上。
4. 用FTP把舊網站上的資料夾和檔案全部都下載(因為擔心使用的模組在移植後會有問題,所以想先試試這樣做)
5. 上傳所有資料夾和檔案到新的主機上。

結果是:
1. 首頁除了文章中的圖片看不到外,所有的文章內容都有出現,但是所有連結都404,包含node下都404...
2. ?q=user可以進入,也能登入,但是一登入就404,回到?q=user是登入狀態,但是登出卻404了,而且回到?q=user還是沒登出。

想問問前輩們,我移植的方式應該怎麼做呢?
又,或者這是MySQL版本不一樣所造成的問題?那麼應該怎麼修改呢?

如果要重新安裝一次Drupal在新的主機然後再把資料庫內容倒進去,怕會有模組問題,而且6.13版我下載不到了...我原本預備先把6.13移植過去,成功再升級6.16的。

有連.htaccess一起上載!
update.php執行後有很多很多錯誤,但是都指著同一個地方line 253什麼的結尾。
目前重新整理中...

為了我兄弟,我必須要會。

還是一樣!

首頁可以呈現,但所有連結都404的狀況下,我猜是簡短網址造成。但是有沒有辦法能關閉簡短網址?

為了我兄弟,我必須要會。

好了,現在簡潔網址沒有問題,又碰到畫面上的樣板和圖片都不見的問題,我嘗試進入update.php
結果有以下錯誤:

* 無法上傳所選擇的檔案 /tmp/file8CQyRp ,因為目的目錄 css/css_2f4e2cc8ea5b0f8ea7e08a42b13a4a2b.css 沒有正確地設定好。
* 無法上傳所選擇的檔案 /tmp/file43Ww4K ,因為目的目錄 css/css_55a34626dc4c012013e4107c0216bbec.css 沒有正確地設定好。
* warning: file_get_contents(languages/zh-hant_40342c6f5ad4457aeb6e4a9a35f96ae1.js) [function.file-get-contents]: failed to open stream: No such file or directory in /home/inconv/public_html/includes/common.inc on line 2373.
* 無法上傳所選擇的檔案 /tmp/fileiR7Rh6 ,因為目的目錄 js/js_8441d55bba92d6827a1d3d9c36988c8b.js 沒有正確地設定好。
* 無法上傳所選擇的檔案 /tmp/fileIQWxvr ,因為目的目錄 js/js_3301e4a3c7dc942596579a1b561d29a7.js 沒有正確地設定好。
* 無法上傳所選擇的檔案 /tmp/fileCNvAKM ,因為目的目錄 css/css_4f6ac42b292616020d8d45aa2e140f43.css 沒有正確地設定好。
* 無法上傳所選擇的檔案 /tmp/file8JnUZ7 ,因為目的目錄 css/css_55a34626dc4c012013e4107c0216bbec.css 沒有正確地設定好。

是不是還有css要設定呢?

為了我兄弟,我必須要會。

我嘗試用瀏覽器去讀圖片檔案,網址像這樣www.mydrupal.com/userfiles/image/others/where.jpg

結果也是404,是不是主機環境的問題呢?

404 Not Found
The server can not find the requested page:

www.mydrupal.com/userfiles/image/others/where.jpg (port 80)
Please forward this error screen to www.mydrupal.com's WebMaster.

主機是cpanel環境,商業主機。

為了我兄弟,我必須要會。

目前我把簡潔網址關掉,所以瀏覽可以,沒有遇到404,但是每一個畫面都看不到圖片,包含文章內圖片和樣板的圖片,所以畫面都是txt網頁,後台的報告都是如下樣子:

* 無法上傳所選擇的檔案 /tmp/php/fileT0boJX ,因為目的目錄 sites/default/files/css/css_1bddf171e20e367ec437181b0809ac93.css 沒有正確地設定好。
* 無法上傳所選擇的檔案 /tmp/php/fileWo4em9 ,因為目的目錄 sites/default/files/css/css_e9c6582863ce1f5a47146fa0ea6fcb2a.css 沒有正確地設定好。
* 無法上傳所選擇的檔案 /tmp/php/fileZpasZk ,因為目的目錄 sites/default/files/js/js_edb4b402c6ed1526944eee7f55a49f2a.js 沒有正確地設定好。
* 無法上傳所選擇的檔案 /tmp/php/fileyUVcEw ,因為目的目錄 sites/default/files/css/css_c19b9d20852c3c74a7c9abaf52757592.css 沒有正確地設定好。
* 無法上傳所選擇的檔案 /tmp/php/filelfAnjI ,因為目的目錄 sites/default/files/css/css_e9c6582863ce1f5a47146fa0ea6fcb2a.css 沒有正確地設定好。

我有嘗試過整理和對照每一個資料夾權限,目前設置的權限跟舊主機是都一樣的,不知道還有哪邊有可能出狀況呢。

為了我兄弟,我必須要會。

今天做了幾個動作,目前解決了2個問題。

1. 改了site內所有檔案夾的權限變成777。>可以看到樣板圖片了,不再是txt網頁。
2. 改了setting.php的權限644。>錯誤報告問題解決。(原本 * 無法上傳所選擇的檔案 /tmp/php/fileT0boJX ,因為...)

目前最後的問題是每一篇文章中的圖片還是沒有秀出來,但是直接http去指向一個圖片網址是可以看到的,我在想會不會是網址DNS還沒有對應過去的關係?

為了我兄弟,我必須要會。

好啦,現在dns對應好了,網站也正常了。
以下是我整理的處理方式,嘗試一個一個做以下動作或許其中一個可以解決問題:

1. 如果樣板圖片不見,變成txt網頁:
a. 把你使用的theme資料夾(不是/theme)整個包含子目錄全都改成777,如果沒解決,改回來(所以修改前先確定各個子資料夾權限是什麼)。
b. settings裡有一個敘述是
# $base_url =
把他啟用並且改成你的網址,注意最後面沒有『/』。
c. 根目錄site資料夾包含子資料夾和檔案全都設定777,若成功記得回來將settings.php改成644。
2. 如果除了首頁外全都404:
登入改『簡潔網址』,把設定關閉。
3. 文章中的圖片顯示不出來(跟樣板圖片顯示不出來不是同一件事),但http直接讀圖片是可以讀出的,這應該是你的dns尚未對應到新主機造成,可以嘗試對應到新主機試試。

為了我兄弟,我必須要會。