经过一些更新后,我的Debian服务器(运行Apache 2.2)似乎错过了libphp5.so
。 启动Apache导致错误消息
sudo service apache2 restart apache2: Syntax error on line 244 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/apache2/modules/libphp5.so: cannot open shared object file: No such file or directory Action 'configtest' failed. The Apache error log may have more information. failed!
试图重新安装libapache5然而导致
sudo apt-get install libapache2-mod-php5 Reading package lists... Done Building dependency tree Reading state information... Done You might want to run 'apt-get -f install' to correct these: The following packages have unmet dependencies: libapache2-mod-php5 : Depends: apache2-api-20120211 Depends: apache2 (>= 2.4) udev : Depends: libudev1 (= 215-5+b1) but 215-6 is to be installed E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
和apt-get -f install
不能解决问题。 它想要安装软件包udev
但最终会出现错误
insserv: script apache: service apache2 already provided! Errors were encountered while processing: /var/cache/apt/archives/udev_215-6_amd64.deb E: Sub-process /usr/bin/dpkg returned an error code (1)
我不知道该怎么办。 我怎样才能让我的Apache再次运行?
编辑
dpkg -C The following packages are only half configured, probably due to problems configuring them the first time. The configuration should be retried using dpkg --configure <package> or the configure menu option in dselect: dictionaries-common Common utilities for spelling dictionary tools dovecot-core secure POP3/IMAP server - core files
ls -ldL /usr/lib/apache2/modules/libphp5.so
。 可能是的,它不见了,所以我们走在这个分支上。 dpkg -C
可以检查系统上是否有某些损坏的软件包。 如果是的话,你必须先解决这个问题。 apt-get --reinstall install libapache2-mod-php5
。 关键是--reinstall
标志,即使系统处于未损坏状态,也不会发生任何事情。 扩展反应评论:那么你应该有一个清晰的dpkg -C
输出(没有损坏的软件包)。 接下来我能看到的是,你的软件包版本和你实际的debian(ubuntu)版本库之间可能存在一些不一致的情况。 首先检查是否安装了所有最新的更新: apt-get update
, apt-get dist-upgrade
。
如果工作,你准备好了。 如果没有,那么可能需要一些棘手的解决scheme。 在你的地方,我删除了一些有问题的软件包( dpkg --purge
for induvidual软件包,或者apt-get --purge remove
来删除所有依赖的软件包),然后尝试重新安装它们。 如果没有任何工作,我删除了整个apache2&php的东西。
但要小心:通过清除来删除软件包也会删除/etc
的configuration。 在你的整个/etc
(或者至less从/etc/apache2
)开始备份!
Ps这不是不可能,你的真正的debian镜子是不是真的好。 什么在你的/etc/apt/sources.list
?