[分享]共用會員資料庫成功的小心得

與 phpBB 2.0.x 相關主題。

版主: 版主管理群

回覆文章
haw
星球公民
星球公民
文章: 65
註冊時間: 2004-03-02 21:14

[分享]共用會員資料庫成功的小心得

文章 haw »

感謝竹貓,讓我認識phpbb
玩到現在三個月,已經從完全不懂php,到看的懂一點點點
真的很感謝有這塊園地的出現\r

既然上手了,當然想試試看比較新的領域
當初一直很看不懂的共用資料庫\r
http://phpbb-tw.net/phpbb/viewtopic.php?t=23454
發問候似乎也是石沉大海
在技術還不是很好的情況下,只好選擇放棄

今天忽然心血來潮,想要再次試試看
因此作了點小筆記,給一些"可能"會比較不懂的新手看

*********假設狀態***********
我以我的實際情況來說好了
目前我有兩個phpbb,假設放在/test/的資料夾內好了
依序是/tes/phpbb(這是phpbb1)還有/test/phpbb2/(這是phpbb2)這兩個
資料庫的話假設我都是放在"test"內\r

*********安裝開始(第二論壇新裝篇)***************
目前的情況是,phpbb1是我原本的論壇,會員數已經有30個了
假設現在要裝第二個論壇,就是phpbb2,那要注意的是\r
就是phpbb2的資料庫要跟phpbb2一樣,選擇"test"
但是有擠個一定要改,不然就會錯誤了,那就是\r
1.資料表檔頭: (ex:phpbb_)這個可以一情況更改為phpbb2_,phpbb3_等等等
2.網域名稱:如果一樣的話,是可以不用改\r
3.系統程式對應路徑:這個也是一情況,就我的情況phpbb1就是指定到phpbb
phpbb2則是指定到phpbb2(參考上面的狀況說明)
如果以我的情況來說的話,我的phpbb新裝情況如下:
db:test
ID:root
pw:****
table_prefix:phpbb2_
這樣就可以了!

************開始更改資料庫****************
打開phpmyadmin,首先連到資料庫\r
依照教學文件,我們可以看到\r

代碼: 選擇全部

ALTER TABLE %主要 phpBB的會員資料表名% RENAME users; 
ALTER TABLE %主要 phpBB的會員群組資料表名% RENAME user_group; 
ALTER TABLE %主要 phpBB的群組資料表名% RENAME groups; 
ALTER TABLE %主要 phpBB的session 資料表名% sessions; 
一開始我看不懂,因此我在這邊就卡著了
那今天稍微研究了一下,我用範例的phpbb1來改\r
那麼改出來的結果就是\r

代碼: 選擇全部

ALTER TABLE phpbb_users RENAME users; 
ALTER TABLE phpbb_user_group RENAME user_group; 
ALTER TABLE phpbb_groups RENAME groups; 
ALTER TABLE phpbb_sessions RENAME sessions;
這裡最主要把主要的會員資料庫,群組以及session資料表改名稱\r
這樣的用意是要將phpbb_開頭的主要資料全部去檔頭,變成非獨占..吧(?)
接下來看到接學這邊,他的第二步為\r

代碼: 選擇全部

DROP TABLE %次要 phpBB的會員資料表名%; 
DROP TABLE %次要 phpBB的會員資料表名%; 
DROP TABLE %次要 phpBB的會員資料表名%; 
DROP TABLE %次要 phpBB的會員資料表名%; 
而我這邊的情況是phpbb2,因此我的更改為\r

代碼: 選擇全部

DROP TABLE phpbb2_users;
DROP TABLE phpbb2_user_group;
DROP TABLE phpbb2_groups;
DROP TABLE phpbb2_sessions;
這裡是要刪除phpbb2原有的群組,會員還有seesion資料表格\r
這時候連到phpbb2,網頁是會出現debug模式,代表資料庫找不到這些資料

****************開始更改includes/constants.php**********
為了重新指定資料庫,因此我們要開改includes/constants.php
打開constants.php
然後照教學的,把這裡\r

代碼: 選擇全部

define('GROUPS_TABLE', $table_prefix.'groups'); 
define('USER_GROUP_TABLE', $table_prefix.'user_group'); 
define('USERS_TABLE', $table_prefix.'users'); 
define('SESSIONS_TABLE', $table_prefix.'sessions'); 
替代為這裡\r

代碼: 選擇全部

define('GROUPS_TABLE', 'groups'); 
define('USER_GROUP_TABLE', 'user_group'); 
define('USERS_TABLE', 'users'); 
define('SESSIONS_TABLE', 'sessions'); 
即可!

這時候進去兩個論壇,資料表不僅完全一樣\r
並且新註冊時,兩個都會一致\r

*******************附註:外掛一起轉移*******************
其實這也不是什麼好方法
假設今天有phpbb1,但是phpbb2希望能有跟phpbb1一模一樣的功能\r
因此可以把phpbb1的主資料夾複製到phpbb2的主機料夾內\r
然把資料庫所有phpbb_全部複製一份,並且更名為phpbb2_後匯入資料庫\r
最後就是進去phpbb2裡面更改config.php
依照實際情況,把資料庫指向到最正確的地方\r
並且更改表頭\r
最後,進入phpbb2,登入admin
到基本組態更改domain name以及對應資料夾後
兩個一模一樣功能的論壇就出現了
接著兩邊版面怎麼安排就看各位了
**********************完畢***************************

第一次在竹貓,希望大家可以發現我有錯誤,可以指證我,指導我,謝謝

p.s:很怪的是,為什麼不乾脆把phpbb2_的會員資料刪除後
到connect.php裡面,將資料庫對應到phpbb_就好了?
GamaniaMing
星球普通子民
星球普通子民
文章: 17
註冊時間: 2004-06-05 19:11
來自: T.G.G 臺灣 遊戲橘子
聯繫:

Re: [分享]共用會員資料庫成功的小心得

文章 GamaniaMing »

當初第一個成功發表共用資料表的就是 梅中網管者 (已關站)
實驗對象是 一個網路遊戲相關討論網站 (就是我啦 ^^" 六站一體)
當初所發出的訊息就是你加註的這個問題 只是我想沒有幾個人有用心觀看吧\r
或是有人想以自己的名義發佈而刻意的以不相同的說明來達到 非引用他人資料 的目的吧\r

1.先上傳五套 phpbb2.0.4 到 http://...../1,2,3,4,5 五個子目錄下,進行安裝,
注意全都安裝到同一個資料庫,
但前引的 $prefix 要分別不相同(第一份是 phpbb_ , 其他4 份要用別的名稱 例 phpbb2_ 或 phpbb3_)

2.phpmyadmin 登入, 刪除資料庫中(除了 phpbb_ 的四個資料表)
_user_group,
_users ,
_groups,
_privmsgs ,
_privmsgs_text ,
_privmsgs_ignore ,
_ranks ,
_smilies ,

注意要保留一份 phpbb_ 前引字元的 (就是 phpbb_ 前引的都不可以動)

3. 設定 2,3,4,5 子目錄內的 includes/constants.php
將代碼:

define('USER_GROUP_TABLE', $table_prefix.'user_group'); (共用 user)
define('USERS_TABLE', $table_prefix.'users'); (共用 user)
define('GROUPS_TABLE', $table_prefix.'groups'); (共用 user)
define('PRIVMSGS_TABLE', $table_prefix.'privmsgs'); (共用 訊息)
define('PRIVMSGS_TEXT_TABLE', $table_prefix.'privmsgs_text'); (共用 訊息)
define('PRIVMSGS_IGNORE_TABLE', $table_prefix.'privmsgs_ignore'); (共用 訊息)
define('RANKS_TABLE', $table_prefix.'ranks'); (共用 等級)
define('SMILIES_TABLE', $table_prefix.'smilies'); (共用 笑臉包)

都改成 代碼:

define('USER_GROUP_TABLE', 'phpbb_user_group');
define('USERS_TABLE', 'phpbb_users');
define('GROUPS_TABLE', 'phpbb_groups');
define('PRIVMSGS_TABLE', 'phpbb_privmsgs');
define('PRIVMSGS_TEXT_TABLE', 'phpbb_privmsgs_text');
define('PRIVMSGS_IGNORE_TABLE', 'phpbb_privmsgs_ignore');
define('RANKS_TABLE', 'phpbb_ranks');
define('SMILIES_TABLE', 'phpbb_smilies');

就完工了.
haw 寫:p.s:很怪的是,為什麼不乾脆把phpbb2_的會員資料刪除後
到connect.php裡面,將資料庫對應到phpbb_就好了?
另類的不同主機同步資料內容的部份更是簡易易用\r
http://phpbb-tw.net/phpbb/viewtopic.php?p=159983#159983
haw
星球公民
星球公民
文章: 65
註冊時間: 2004-03-02 21:14

文章 haw »

這...這麼說的話\r
如果兩個db,會員資料庫要統一
這也是做得到的嗎???

不然要掛外掛好麻煩\r
如果可以統一的話,那麼只要掛一掛然後兩個同步(覆蓋)就好了
bu
版面管理員
版面管理員
文章: 443
註冊時間: 2003-02-23 12:46
來自: 25° 4′N 121° 29′E
聯繫:

文章 bu »

我翻譯的這篇好像是【新手殺手】 =.=|||
*譯文資料在phpBB 技術文件
bu.femto-size
*和我聯絡,請寄 or Google Talk 圖檔
*作品: Intergrated Toplist & Message Can
問題狂
竹貓忠實會員
竹貓忠實會員
文章: 1947
註冊時間: 2004-06-28 17:13

文章 問題狂 »

還是一個就好了(汗)
阿維
竹貓忠實會員
竹貓忠實會員
文章: 868
註冊時間: 2003-02-23 13:36
來自: 台南市

文章 阿維 »

我也已經修改成功了! ;-)
Mowd
竹貓忠實會員
竹貓忠實會員
文章: 326
註冊時間: 2002-06-26 01:17
來自: 台北
聯繫:

文章 Mowd »

移動到教學文件庫
回覆文章

回到「2.0」