返回頂部
關(guān)閉軟件導(dǎo)航
位置:首頁 > 資訊 > 帝國新聞>帝國、PHPCMS及織夢對比(十二):PHPCMS低級BUG問題分析

  落葉之前在CHINAZ發(fā)布了一系列關(guān)于PHPCMS、織夢及帝國這三款CMS對比分析文章,在對比分析中出現(xiàn)過對PHPCMS部分功能和架構(gòu)設(shè)計方式明顯的偏好,一些站長朋友們在評論中多提到落葉在為PHPCMS捉刀的質(zhì)疑。本文中落葉詳細分析下PHPCMS2008中一直存在的并且在sp4最終版中仍然存在的嚴重甚至低級的問題及一些使用中遇見的“見鬼”的問題。

  A、低級問題/BUG:

  1.刪除欄目時所有子欄目和子欄目下所有文章不作任何提示,直接刪除。

  一般的思路時,如果欄目下有子欄目,或者欄目下已經(jīng)有多篇文章,刪除時應(yīng)該提示該欄目不允許刪除,或者至少應(yīng)該給出危險警告,結(jié)果PHPCMS中是一不小心,點刪除欄目,然后彈出的JS中“是否要刪除欄目”點了確定后,就一下子所有子欄目全部干掉了,這也意味著這些所有欄目下的文章也沒辦法顯示了。雖然可以根據(jù)PHPCMS中DATA目錄下的欄目緩存中手動在數(shù)據(jù)庫中找回這些欄目,但這個引起的麻煩自不待言了。

  很多新技術(shù)員進來時,使用PHPCMS套站時,我都很明確的說明,PHPCMS后臺不允許做任何刪除操作,然而還是常有因為誤點擊而導(dǎo)致幾十個子欄目及欄目因為這樣的誤點擊全部消失的情況。不過,落葉在新站規(guī)劃時,一般都會修改PHPCMS欄目刪除對應(yīng)方法,刪除前先查詢欄目是否有子欄目,然后子欄目是否有文章,如果有需先刪除文章,再刪除子欄目,才能刪除父欄目。

  2.移動欄目后欄目關(guān)系字段沒能正確更新,刪除原欄目的父欄目,已經(jīng)移走的子欄目會跟著被全部干掉

  落葉不止一次發(fā)生過這樣的杯具,原來B欄目是A欄目的子欄目,后來想到B欄目獨立出來做一級欄目更好,于是把B欄目修改為一級欄目,然后更新欄目緩存,修復(fù)欄目數(shù)據(jù),心想這下應(yīng)該沒問題了帝國cms批量助手,然后刪掉A欄目,結(jié)果大杯具發(fā)生了,整個A欄目及B欄目以及B欄目以下的所有欄目跟著被刪除了。

  問題出現(xiàn)的原因:PHPCMS無限級分類每個分類中以arrchildid字段記錄了所有子欄目的ID,當(dāng)把B欄目稱出后帝國cms批量更新,PHPCMS程序中沒能對B欄目的原父欄目的相關(guān)字段正常更新,結(jié)果刪除A欄目時,遍歷arrchildid中的所有子欄目,括B欄目,一起全部干掉了。

  3.添加欄目時緩存重復(fù)更新,欄目多后修改欄目保存時慢到不可理解的問題。

  PHPCMS在編輯欄目后保存時帝國cms批量添加產(chǎn)品,會自動調(diào)用修復(fù)欄目的repair()方法和更新所有欄目緩存的cache()方法,并且repair()方法中本身調(diào)用了一次cache()方法,結(jié)果導(dǎo)致的問題是每次編輯,欄目緩存都會全部更新兩次,當(dāng)欄目比較多時,每次都重新生成一次緩存,效率自然會降低,但一般這還不至于導(dǎo)致很明顯的慢。更杯具的是,PHPCMS黃頁模塊的產(chǎn)品分類均存儲在欄目表中,黃頁意味著有大量的多級產(chǎn)品分類,這樣一來,每次在編輯內(nèi)容模型的某個欄目時,整個欄目表都會跟隨著更新兩次緩存,幾百個欄目的緩存重新更新,并且寫入方式是file_put_contents,結(jié)果的杯具是,編輯欄目后保存時一直卡在那里無論怎么點就是更新不動,關(guān)掉重新開,發(fā)現(xiàn)編輯的內(nèi)容又是保存成功的。

  落葉一直的解決辦法是,修改PHPCMS編輯欄目后調(diào)用的緩存更新方法,只讓他更新所涉及到的欄目的緩存。這樣的好處是臨時比較慢,不會花無用的時間去更新大量不需要更新的欄目的緩存。缺點是會導(dǎo)致相關(guān)聯(lián)的欄目緩存沒有及時更新。不過,這個不是問題,等欄目全部修改完成后,再在后臺點一次更新所有緩存,這下慢就慢吧,點了不管,他自會更新完。

  4.刪除文章,靜態(tài)頁沒有跟著刪除。

  一般的設(shè)計按理應(yīng)該是刪除文章的同時,對應(yīng)刪除的靜態(tài)文件,但不知道為什么PHPCMS中沒有這樣,結(jié)果是很多文章已經(jīng)刪除了,但靜態(tài)頁還是被收錄了,并且都是老的一些無用的測試頁面或者模板列換前的頁面。這時候想將這些的頁面去刪除只有人工去找了。

  5.內(nèi)容頁模板無法批量更換的問題。

  很多時候,程序上站設(shè)置好欄目等,設(shè)計美工處理模板界面,然后編輯同時發(fā)文章,然而因為模板還沒有做出來,默認欄目設(shè)置中內(nèi)容頁模板都是選擇的默認 show.html模板,發(fā)的文章的Template字段中記錄的也是show.html模板,然后設(shè)計那邊模板做出來后,如果不用默認的 show.html文件名,而是show_new.html模板時,本來應(yīng)該可以直接欄目修改時,選擇新模板,然后勾選“將這些修改全部應(yīng)用到子欄目及內(nèi)容頁”,實現(xiàn)內(nèi)容頁模板更換的。相信PHPCMS官方的本意也是如此的,可結(jié)果勾了也白勾,內(nèi)容頁模板原來是啥還是啥,這時候不得不手動一篇文章一篇去修改帝國cms批量更新文章,或者到數(shù)據(jù)庫中替換。

  6.列表頁GET標簽調(diào)用文章列表,分頁鏈接跳到后臺的問題。

  這個問題出現(xiàn)的大概原因是GET標簽中的分頁page參數(shù),與列表頁內(nèi)置獲取的分頁參數(shù)產(chǎn)生沖突,生成靜態(tài)時參數(shù)沖突,分頁出錯。而使用默認TAG標簽時不會有錯。

  B、經(jīng)常遇到的“見鬼”的問題:

  1.無論怎么改模板,生成頁面,始終不變的問題

  這個是用戶自己的問題,也是PHPCMS的問題。之所以說是用戶自己的問題,那是因為他反復(fù)刷新的頁面并不是真這的最新生成的改變后的靜態(tài)頁面。之所以說是PHPCMS的問題,那是因為在某些情況下,修改欄目后,欄目URL規(guī)則自動在不知情的情況下(修改欄目時,URL規(guī)則選項是以TAB選項卡的方式展示,修改其它選項卡下信息時,會難注意URL規(guī)則所在的選項卡中的變化而直接保存),變會到默認的URL規(guī)則,然后用戶生成頁面后,新頁面生成在默認 URL規(guī)則對應(yīng)的欄目下,而用戶并沒有全站生成,點擊欄目導(dǎo)航訪問時還是舊頁面,所以無論怎么刷新也不變的見鬼的問題。

  這個問題當(dāng)有意去編輯欄目進行測試時,難以復(fù)現(xiàn),但是落葉之前一天多時,經(jīng)常遇到,最近一些新的技術(shù)在處理PHPCMS是經(jīng)常抓狂的仍然是這個問題。上傳模板,生成靜態(tài),刷新刷新再刷新,就是不變。

  另外,還有很多更新后發(fā)現(xiàn)不變化的情況均因PHPCMS的緩存所至,無論是編輯系統(tǒng)設(shè)置還是修必欄目后都需更新修復(fù)欄目數(shù)據(jù),更新緩存才能生效,但不知道為什么,很多時候需要重新編輯好幾遍,更新好幾次后才能生效。

  再就是URL更新了,更換URL規(guī)則后,數(shù)據(jù)庫中記錄的URL路徑?jīng)]有變,需要先更新URL后再生成靜態(tài)才有效,但很多由于忘掉而無論怎么生成也沒用的。

  2.模板可視化情況下碎片無法點擊添加或修改的問題

  這個是程序員或者美工自己的問題,碎片變?yōu)榭牲c擊狀態(tài)需要頁面調(diào)用JQUERY框架,用戶制作的模板如果沒有加截這個框架或者相關(guān)頁面沒有加載這個框架,那就出現(xiàn)這個問題。

  3.文章提交總是出現(xiàn)phpcms_search' is marked as crashed and should be repaired的問題。

  這個問題就是phpcms_search數(shù)據(jù)表損壞了,落葉此前也是經(jīng)常碰到了,現(xiàn)在編輯基本每隔一兩天都會碰到這個表損壞而無法添加數(shù)據(jù)的問題。

  這個表是為PHPCMS中實現(xiàn)全文搜索和全文索引而設(shè)計的,每添加一篇文章,文章全文內(nèi)容都會經(jīng)分詞處理后,存儲到這個表中,寫入操作比較頻繁,但是我不太清楚,為什么這個表會這么容易損壞,頻繁出奇的高。當(dāng)然見怪不怪時也就淡定了,因為PHPCMS后臺自帶的數(shù)據(jù)表修復(fù)功能還是很強大的。現(xiàn)在編輯在添加文章時發(fā)現(xiàn)數(shù)據(jù)表損壞,已經(jīng)不找程序員了,直接自己在后臺系統(tǒng)工具里點數(shù)據(jù)庫修復(fù)搞定。

<

如果您覺得 帝國、PHPCMS及織夢對比(十二):PHPCMS低級BUG問題分析 這篇文章對您有用,請分享給您的好友,謝謝
文章地址:http://www.meyanliao.com/article/diguo/dgPHPCMSjzmdbsePHPCMSdjBUGwtfx.html
解放雙手無盡可能,有問題添加天線貓微信
主站蜘蛛池模板: 国产成人亚洲综合无码| 国产自无码视频在线观看| 久久精品中文字幕无码绿巨人| 无码国产精品一区二区免费式影视| 一区二区无码免费视频网站| 中文国产成人精品久久亚洲精品AⅤ无码精品 | 无码少妇一区二区三区芒果| 亚洲AV无码成人精品区蜜桃| 真人无码作爱免费视频| 中文无码一区二区不卡αv| 精品久久久久久无码中文字幕| AV无码久久久久不卡蜜桃| 天堂Aⅴ无码一区二区三区| 无码熟妇人妻AV在线影院| 久久无码专区国产精品s| 国产怡春院无码一区二区| 久久久久久国产精品免费无码| 国产亚洲精久久久久久无码AV| 西西444www无码大胆| 亚洲av无码片区一区二区三区| 人妻无码久久中文字幕专区| 一夲道dvd高清无码| JAVA性无码HD中文| 日韩欧精品无码视频无删节 | 中文字幕乱偷无码AV先锋| 无码人妻精一区二区三区| 少妇特殊按摩高潮惨叫无码| 18禁网站免费无遮挡无码中文| 日韩精品少妇无码受不了| 亚洲AV综合色区无码一区| 中文字幕无码AV波多野吉衣| 亚洲AV无码一区二区三区鸳鸯影院 | 无码人妻AⅤ一区二区三区水密桃| 亚洲国产成人精品无码区二本 | 国产成人无码av片在线观看不卡| 国产AV无码专区亚洲AV蜜芽| 日本精品无码一区二区三区久久久| 亚洲AV无码AV吞精久久| 中文字幕无码精品亚洲资源网久久| 久久国产精品无码HDAV| 无码国产精品一区二区免费式直播 |