我遇到的问题是启动apache2,出现错误,不能加载libphp5,然后提示libxml2未定义的信号:

apache2: Syntax error on line 185 of /etc/apache2/apache2.conf: Syntax error on line 1 of /etc/apache2/mods-enabled/php5.load: Cannot load /usr/lib/apache2/modules/libphp5.so into server: /usr/lib/libxml2.so.2: undefined symbol: gzopen64

按照下文的提示,将/usr/local/lib/里的libz的so全部rename了下,问题解决。

引文:

前些天从7.04升级到7.10,有两台机子同时升。奇怪的是一台可以正常升级,而且升完后可以正常使用,而另一台升级过程中却时常出错,好不容易升完后又不能正常使用。现在把错误解决办法记录下来,与遇到同样错误的同志们共享一下。
************************错误*****************************************************
# apt-get -f dist-upgrade
…………………………..
正在从软件包中解出模板:100%
正在预设定软件包 …
supported_versions: WARNING: Unknown Ubuntu release: 7.10
(正在读取数据库 … 系统当前总共安装有 151410 个文件和目录。)
正预备替换 screem 0.16.1-4ubuntu1 (使用 …/screem_0.16.1-4.1ubuntu1_i386.deb) …
gconftool-2: symbol lookup error: /usr/lib/libxml2.so.2: undefined symbol: gzopen64
dpkg:警告 – 原先的 pre-removal 脚本 退出时返回了错误号 127
dpkg – 现转而试用新软件包所带的脚本…
dpkg:… 看起来它能正确执行。
正在解压缩将用于更替的包文件 screem …
update-mime-database: symbol lookup error: /usr/lib/libxml2.so.2: undefined symbol:gzopen64
dpkg:警告 – 原先的 post-removal 脚本 退出时返回了错误号 127
dpkg – 现转而试用新软件包所带的脚本…
update-mime-database: symbol lookup error: /usr/lib/libxml2.so.2: undefined symbol:gzopen64
dpkg:处理 /var/cache/apt/archives/screem_0.16.1-4.1ubuntu1_i386.deb (–unpack)时出错:
子进程 新的 post-removal 脚本 返回了错误号 127
update-mime-database: symbol lookup error: /usr/lib/libxml2.so.2: undefined symbol:gzopen64
dpkg: 作下列清理工作时发生错误:
子进程 post-removal scrīpt 返回了错误号 127
在处理时有错误发生:
/var/cache/apt/archives/screem_0.16.1-4.1ubuntu1_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
************************错误*****************************************************
整个过程中问题出现“E: Sub-process /usr/bin/dpkg returned an error code (1)”这一句,Google了一下,在国外有人提出下面的解决办法:
在/usr/local/lib路径下,将所有的“libz.so.”开头的文件都删除掉(如果担心会出现问题的话可以将其改名,我是采用的这种方法):
root@wzf-ubuntu:/usr/local/lib# ls libz.so*
libz.so libz.so.1 libz.so.1.2.3
root@wzf-ubuntu:/usr/local/lib# mv libz.so libz.so.bak
root@wzf-ubuntu:/usr/local/lib# mv libz.so.1 libz.so.1.bak
root@wzf-ubuntu:/usr/local/lib# mv libz.so.1.2.3 libz.so.1.2.3.bak
root@wzf-ubuntu:/usr/local/lib# ls libz.so*
libz.so.1.2.3.bak libz.so.1.bak libz.so.bak
这样删除文件后可以正常更新了,如果后面仍然出现这个错误,则继续上面的办法(在那个目录下会发现又有新的“libz.so.”开头的文件生成),直到更新完成即可。至于为什么要这样做,就没有深究了,但我按这样办法是把问题给解决了。

升级完成后,当我重启系统进入桌面时,却出现了两个对话框,说Nautilus有问题,无法启动。文字如下:
************************错误*****************************************************
(1)由于未预料到的错误,现在无法使用Nautilus。
由于在试图注册文件管理器视图服务器时,遇到未预料到的Bonobo错误,现在无法使用Nautilus。

英文:Nautilus can’t be used now, due to an unexpected error.
Nautilus can’t be used now, due to an unexpected error from Bonobo when attempting to register the file manager view server.

(2)面板出现致命错误
在将面板注册到bonobo-activation服务器时出现了问题(错误码为:3),现将退出。面板将自动重新启动。

英文:The panel has encountered a fatal error.
The panel could not register with the bonobo-activation server (error code:3) and will exit. It may be automactically restarted.
************************错误*****************************************************
继续Google了一下,发现这个问题在以前出现过,那些帖子基本都是2005年发的,国内的网站上似乎没有找到好的解决办法,在国外的Ubuntu论坛上找到了两种解决办法。
一种是修改日期格式(以下的命令都以root身份执行):
#date –date="11/16/2007"
将日期格式改为“月/日/年”的形式,我这里是改成了2007年11月16日。然后重启即可。
第二种方式是执行关闭“bonobo-activation-server”进程:
#killall bonobo-activation-server
PS:当出现这个错误时,按“ctrl+alt+backspace”组合键可以进入控制台。我用第一种方法就解决了,所以没有尝试第二种方法是否可行。