php-5.6 问题

php-5.6 问题

我今天安装了一个新服务器,在成功运行 ansible playbook 后,几个小时后我收到了这个错误:

The following packages have unmet dependencies:
 libapache2-mod-php5.6 : Depends: php5.6-cli but it is not going to be installed
                         Depends: php5.6-common (= 5.6.31-1~ubuntu16.04.1+deb.sury.org+1) but it is not going to be installed
                         Depends: php5.6-json but it is not going to be installed
                         Depends: php5.6-opcache but it is not going to be installed
                         Depends: libssl1.1 (>= 1.1.0) but it is not installable  

问题是我找不到任何地方libssl1.1。最新的是 libssl1.0 。

我应该怎么办?

答案1

更新:PPA 维护者已经“修复”了这个问题,根据 GitHub 问题。然而,作为一名 Ubuntu 系统管理员和 Linux 系统管理员,我不能容忍 Ondrej 对此“修复”的做法,因为这libssl1.1.0会破坏 Ubuntu 中的很多东西。YMMV,但您可以libssl自行使用 PPA 及其较新的版本(极度破坏操作系统) 风险。


据我所知,您遇到的情况有两种:

  1. 有问题的 PPA 是基于较新版本的 OpenSSL 构建的,而 Xenial 中没有该版本。

    在这种情况下,PPA 和存储库的维护者必须返回并更改构建环境以依赖 16.04 的 OpenSSL 库。

    您需要联系 PPA 维护人员以获得帮助。我们无法可靠地支持特定 PPA 的问题。


  1. 所添加的 PPA 适用于 16.04 以上的新版本。

    在这种情况下,你需要确保 ansible playbook 和被管理的系统确实获得了正确的在要添加的存储库上设置分发信息,然后更新并安装更新的 PHP 包。


在这两种情况下,都应该知道 PHP 5.6 已经非常老了,如果我没记错的话,它已经过了使用寿命。这意味着应该尽可能用 PHP 7.0 替换它,因为 5.6 处于使用寿命结束、未更新的状态。

我强烈建议尽可能使用 PHP 7.0,而不是依赖 PHP 5.6 的这些第三方存储库。

相关内容