PHP5-FPM(PHP 5.5)无法安装-无法安装 libsystemd-daemon0

PHP5-FPM(PHP 5.5)无法安装-无法安装 libsystemd-daemon0

我的服务器宕机了,因为我不知道如何修复这个问题。我在 Ubuntu 12.04 上使用这个 PHP5 存储库:http://ppa.launchpad.net/ondrej/php5/ubuntu精准主

直到今天我都没有遇到过问题。几个小时前,我进行了 apt-get 升级,一切都很顺利,直到到达 PHP5-FPM 部分:

The following packages have unmet dependencies:
 php5-fpm : Depends: libsystemd-daemon0 (>= 31) but it is not installable
E: Unable to correct problems, you have held broken packages.

我尝试安装libsystemd-daemon0,但收到一条通知,提示没有安装候选项。有人能告诉我如何解决这个问题,而不会让我抓狂吗?

答案1

对于遇到此问题并使用存储库的任何人(像我一样)ppa:ondrej/php5,您也需要他们的systemd存储库才能获取它apt-get

sudo add-apt-repository -y ppa:ondrej/systemd
sudo apt-get update
sudo apt-get -y upgrade
sudo apt-get install -y php5-fpm

答案2

从此刻起,解决方案应该非常简单,只需执行以下操作:

apt-get update
apt-get upgrade

由于添加另一个 PPA 似乎太复杂,我已将所有必要的包合并到主存储库中,因此这种情况不会再发生。

编辑:JFTR php5-fpm 不再依赖于任何 systemd 组件,因此可以安装它而无需拉动 libsystemd-daemon0 的麻烦。

答案3

Tedders 解决方案非常有效。

然而,对于那些拥有有效的 Geo IP PHPFPM 支持并且它在更新时中断的人来说,有一个细节。

要恢复 GeoIP 功能:

pecl install geoip

然后 cd 到 /etc/php5/fpm/conf.d 并添加一个 20-geoip.ini 文件,内容如下:

; configuration for php geoip module
extension=geoip.so

升级还会将一些对 PHPFPM 高可用性有用的设置(重新)设置为零:

emergency_restart_threshold = 5
emergency_restart_interval = 2
process_control_timeout = 2

相关内容