今天把自己伺服器上的 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 控制台如所预期地正确显示出来了。