缺少 libphp5.so,依赖性问题

缺少 libphp5.so,依赖性问题

经过一些更新后,我的 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

答案1

  1. 检查此共享库是否确实缺失(即使文件在您的系统上,某些情况下其加载也会失败并出现此错误),使用ls -ldL /usr/lib/apache2/modules/libphp5.so。 很可能是的,它缺失了,因此我们在此分支上继续进行。
  2. 你的软件包似乎有点问题。dpkg -C你可以用 检查一下你的系统上是否有一些损坏的软件包。如果是,你必须先解决这个问题。
  3. 尝试一下apt-get --reinstall install libapache2-mod-php5。关键是--reinstall标志,如果没有它,即使您的系统处于未损坏状态,也不会发生任何事情。
  4. 这里你可以找到我的另一个答案,它可以为你提供有用的命令,尽管最初的问题不同:他想修复失败的升级,你想修复你的 apache php5 模块。但问题本质上是一样的:你们都想修复 debian/ubuntu 系统的不一致状态。

扩展响应注释:然后您应该有一个清晰的dpkg -C输出(没有损坏的包)。接下来我可以看到您的软件包版本和实际的 debian(ubuntu)存储库之间可能存在某种不一致。首先检查您是否安装了所有最新更新:apt-get updateapt-get dist-upgrade

如果有效,说明您已经准备好了。如果无效,则可能需要一些棘手的解决方案。我代替您删除了一些有问题的软件包(dpkg --purge对于单个软件包,或apt-get --purge remove删除带有所有依赖项的软件包),然后尝试重新安装它们。如果没有任何效果,我删除了整个 apache2 和 php。

但请注意:通过清除删除软件包也会删除其配置。在此之前,/etc请先备份您的全部/etc(或至少备份)!/etc/apache2

附言:您的实际 Debian 镜像可能不太好。您的里面有什么/etc/apt/sources.list

相关内容