作者:曹雷
互聯網上愛琢磨、好研究的人真不少,年齡都偏小。我也算一個,自從征上Dsicuz!插件區版主后,更是積累了不少論壇技術方面的經驗知識。最近Discuz!官方發起了一個手握手互助升級活動,我也是一個積極響應者,一來是個熱心腸,二來也是奔著Discuz!的有紀念意義的T恤,嘿嘿,因此頭一波就申請當上了志愿者。
我的網上助人為樂工作就這樣開始了。申請轉換成為Discuz!的求助人還真不少,第一單對我的聲譽影響很是重要,我選擇了一個Discuz!新版本升級的朋友,這對我來說,尤其呼吸般的輕松----幾分鐘全搞定了,然后將他的某些插件,和所有風格,都轉化為FOR D41了。第一次成功的“手握手”讓我們彼此都很快樂!
目前我幫助轉換成功的論壇已有十來個了,不但每個都成功,而且他們還非常滿意,我也感到萬分的欣慰。但也有遇到比較棘手的轉換,那可是需要“真槍實彈”呀!一求助者要求從PW轉到DZ,以前雖然轉換過但都只是在本地測試過,因此自己小心地弄起來,結果確實是在數據庫表上碰到了一些新的問題。問題細節就不一一冗述了,在數據表結構環節出現了問題,但最終還是拿下,成就感強烈。
轉換過程不僅鍛煉了自己,也幫助了別人,更增添了一份情誼。有不少求助者還熱情的說要送我紅包,請我吃飯…...那股子熱情勁,讓我十分滿足。
總結一下轉換常遇關鍵問題,那就是在于空間的配置上,php5和MySQL5的問題最多,由于他們的特殊性,多多少少會有些麻煩。但也有標準配置出問題的,不占少數。可以說我幫過的人里面,遇到突發問題的不占少數,但結果都是被我自己快速解決。下面我就舉例子簡單說明一下三大注意點:
一、備份很重要。
在升級、轉換論壇的過程中,沒有人能有把握成功100%成功,所以說,作為一個志愿者,要懂得在主要操作之前,備份求助者的原論壇所以數據。在備份過程中,使用PMA導出論壇數據庫時,出現了導出中斷錯誤,打開了sql文件,里面的最后幾行代碼看不懂,第一反應是完蛋了,數據庫都會出錯,估計接下為不會有啥好事情的。但這只是我的一個想象罷了。自己試著找到出現錯誤的表,然后看其字段,也都沒錯。字段里的記錄很多。沒法一個個看,由于想到了用repair.php修復。然后,抱著自信試了一下。結果成功修復了。數據庫備份正常導出,論壇升級完畢后,將原數據備份導出還給求助者。不管他要不要。
二、數據庫的處理。
轉換了一個論壇,所有操作都成功,但結果是在后臺刷新緩存時,出現SQL報錯。它說找不到相應的數據表cdb_pmsearchindex,既然說找不到表那就是沒有這個表,所以自己去翻了D41的安裝包,找到了那段數據庫,自己再去數據庫升級,一切搞定。
三、要找一個信任的志愿者
這個問題也有針對性,事情發生在一個D3F上面,這個客戶叫真的不走運,他之前參加過求助者,但幫他的一個志愿者沒了好久沒搞好,結果損失了幾百個會員帳號和很多貼子,至于這個志愿者,我們暫時不提。最后的是如何解決當前的癥狀。具求助者描述,升級到第三個步驟時就出錯,是SQL錯誤,于是讓他給我他的備份數據,然后我在本地測試導入后升,結果如同他所說,也是突發事件,之前從沒這樣的問題,但我一點沒慌,我的原則還有一條就是有問題了就去解決。SQL錯誤說,在對cdb_setting表內的字段和值操作時,出錯匹配錯誤,于是我不懂了,用repair.php修復,未果;FTP文件夾改名再更新緩存,未果;結果,我問他是不是裝了什么插件,他說沒有,說是說沒有,但是,我只相信我所看到的。求助者的數據表比標準表的settings表多了一個字段,所以導致了INSERT INTO的SQL報錯,我也不管是求助者忘記了裝某插件還是那個志愿者添加的,反正我解決一下就是了,當然不是先刪除,因為不知道其作用(但對論壇是毫無影響的),先備份,這是原則,然后再刪除該字段。最后,將升級程序文件里面的相應代碼刪除,因為第一,二步有些是升級過了。然后再手動執行第三步,完全成功。這個求助者也是我見過最慘的一個了,當時他跟我說快對DZ失去信心了,沒想法了。我也對我挽回他對DZ的信心和我的自信感到開心。
作為一個Discuz!“手握手”活動以的志愿者,并不要求其技術到多好,也不要求其轉過多少種論壇,重要的是術業有專攻。而且是DZ的志愿者,首先就應該對DZ的數據庫表結構了解透徹,否則,遇到了麻煩是推辭掉呢還是不管呢還是怎么。這樣一來,求助者和志愿者就沒法“手握手”了,這就根本不合這次活動的主題。總結下來必須符合以下的兩個基本點:
一、對DZ的數據表結構有非常的認識和了解以及PMA的使用。
二、至少成功轉換過一個論壇。這也是所有志愿者都應具備的。
新聞熱點
疑難解答