今天把自己伺服器上的 Joom!Fish 升級到 version 2.1 pre-release 2,結果沒想到 Joom!Fish 的控制台只顯示一片空白畫面。因為我的伺服器已經運行 Joom!Fish 2.1 pre1 有好一陣子了都沒啥問題,我沒有預期這次升級會造成嚴重破壞。
很快地我檢查了一下伺服器的錯誤紀錄。其中的最後一條紀錄明確地解釋了這一新版有什麼問題。程式 /administrator/components/com_joomfish/models/cpanel.php 在建立一個 DOMDocument 物件時失敗。
原來 Joom!Fish 已經不再如同先前版本使用 DOMIT Lite 分析器,而現在是應用 PHP 5 支援的 DOM API。XML DOMIT Lite 分析器是 Joomla! 安裝的一部分,PHP DOM API 支援則不是,必須安裝於伺服器。因為沒有 DOM API 支援,難怪 Joom!Fish 無法正常作業。
為了糾正這個情況,php-xml 套件必須被安裝。不幸地當我試著安裝該套件時,因為版本不符造成安裝失敗。CentOS 5.5 Base 套件庫還沒把它的 php-xml 套件升級到與 php 套件同樣的版本號 (5.2.9-2.el5.centos)。
於是我查看 CentOS 5 Testing 套件庫,找到了版本符合的 php-xml 套件。找到正確的套件包後,只要用一個簡單的指令即可安裝:
yum --disablerepo=* --enablerepo=c5-testing install php-xml-5.2.9
(如果使用指令
yum --disablerepo=* --enablerepo=c5-testing install php-xml
將會取得一個更新的版本,但那不是我所要的。)
一旦 DOM API 支援安裝好後,Joom!Fish 控制台如所預期地正確顯示出來了。