特殊原因,有機會研究了一下自開發應用,通過UCenter和Discuz整合。
由於對PHP的不瞭解,很多代碼都是在猜其中的意思,所以搞的很晚,不過還算挺有收穫的,不墨跡了,現將過程整理一下貼出來,希望對大家有所幫助:
環境及版本:
1、PHP自開發應用(此部分用幾個自己寫的PHP頁面模擬);
2、UCenter_1.5.0_SC_UTF8;
3、Discuz_7.0.0_SC_UTF8
一、安裝PHP環境:
PHP環境是到網站(http://www.appservnetwork.com/modules.php?name=News&file=article&sid=46)下載了一個Click One版本的,具體過程如下
圖1:
圖2
圖3
圖4
圖5
二、安裝UCenter:
1. 將 upload 文件夾拷貝到E:\AppServ\www\ucenter
2. 如果您的主機爲linux操作系統,請設置如下文件夾權限爲 777
./data
./data/avatar
./data/backup
./data/cache
./data/logs
./data/tmp
./data/view
3. 在瀏覽器中運行 install 程序,即訪問“http://localhost/ucenter/upload/install/”
圖6
4. 通過 FTP 刪除 install 目錄
三、安裝Discuz:
1. 將 upload 文件夾拷貝到E:\AppServ\www\discuz\
2. 設置目錄屬性(windows 服務器可忽略這一步)
以下這些目錄需要可讀寫權限
./templates
./attachments
./forumdata
./forumdata/cache
./forumdata/templates
./forumdata/threadcaches
./forumdata/logs
3. 執行安裝腳本,在瀏覽器中運行 install 程序,即訪問“http://localhost/discuz/upload/install/”
圖7
圖8
4. 參照頁面提示,進行安裝,直至安裝完畢
四、配置自開發應用:
1、建立E:\AppServ\www\demo文件夾(放自開發應用)
2、拷貝E:\AppServ\www\discuz\upload\api目錄到E:\AppServ\www\demo
3、拷貝E:\AppServ\www\discuz\upload\uc_client目錄到E:\AppServ\www\demo
4、拷貝E:\AppServ\www\discuz\upload\config.inc.php文件到E:\AppServ\www\demo
五、配置UCenter:
1、訪問:http://localhost/ucenter/upload輸入密碼進入管理端
2、選擇應用管理-->添加新應用
圖9
圖10
六、修改自開發應用配置:
1、刪除E:\AppServ\www\demo\config.inc.php文件內容
2、將第五步生成的代碼(在頁面最下方)拷貝到E:\AppServ\www\demo\config.inc.php文件
七、編寫模擬頁面
1、爲了方便直接拷貝Ucenter帶的例子(UCenter_1.5.0_SC_UTF8\advanced\examples\code),拷貝的是不帶db版本,還有一個帶db版本的。可以根據需求替換。
2、修改拷貝過來的文件,在頭部加入引用
include './config.inc.php';
include './uc_client/client.php';
八:測試:
1、訪問:http://localhost/demo/register_nodb.php註冊用戶
2、訪問:http://localhost/ucenter/upload/admin.php選擇“用戶管理”,成功加入用戶
3、訪問:http://localhost/demo/login_nodb.php輸入正確密碼,提示成功登錄後
4、訪問:http://localhost/discuz/upload/統一登錄成功。
5、訪問:http://localhost/demo/logout.php退出成功。
6、訪問:http://localhost/discuz/upload/統一退出成功。
九:以下沒有進行測試:
1、沒有具體測試discuz反向登錄自定義系統,不過從機制上來看應該可以。
2、還有可以根據業務需要禁止discuz來創建用戶,相關方面的測試也沒有做。
3、不光可以統一登錄,根據api來看還可以取得discuz的積分等其他信息。
總結:
PHP開發環境整的還真人性化啊,超喜歡,各個項目的具體安裝路徑根據需求來設置,不過要對應的上,用戶部分可以以UCenter爲中心控制,Discuz和其公司開發的所有項目均可進行整合,很方便,不過這種整合方式使用的是Ucenter中心用戶,對原系統已有用戶表的情況,應該是demo代碼中帶數據的方式,今天官方網站我訪問不到,鬱悶,寫到這把,天亮了,休息了。