背景:
libapache2-mod-php
我有一个安装并运行 PHP服务器的Debian 容器7.2
。该项目已成立半年,目前运行良好。
问题:
本周我一直在尝试在另一个具有相同操作系统的虚拟机上安装 Debian 容器。
似乎这个包最近得到了更新(默认为),这在安装后7.3
破坏了我的 PHP服务器。7.2
尝试:
我已经尝试过apt policy libapache2-mod-php
,它显示两个环境包含相同的起源,但libapache2-mod-php
同一起源的两个版本不同。
7.2
我真的很困惑,当没有可用版本时如何指定 apt 安装 PHP apt policy
?
破损的容器:
root@b3ec62f3096d:/srv/server/server# apt policy libapache2-mod-php
libapache2-mod-php:
Installed: 2:7.3+69+0~20190303094804.15+stretch~1.gbp0f7465
Candidate: 2:7.3+69+0~20190303094804.15+stretch~1.gbp0f7465
Version table:
*** 2:7.3+69+0~20190303094804.15+stretch~1.gbp0f7465 500
500 https://packages.sury.org/php stretch/main amd64 Packages
100 /var/lib/dpkg/status
1:7.0+49 500
500 http://deb.debian.org/debian stretch/main amd64 Packages
工作容器:
root@430822ee576a:/srv/server/server# apt policy libapache2-mod-php
libapache2-mod-php:
Installed: 1:7.2+65+0~20181014094036.7+stretch~1.gbpaaf4ee
Candidate: 1:7.2+65+0~20181014094036.7+stretch~1.gbpaaf4ee
Version table:
*** 1:7.2+65+0~20181014094036.7+stretch~1.gbpaaf4ee 500
500 https://packages.sury.org/php stretch/main amd64 Packages
100 /var/lib/dpkg/status
1:7.0+49 500
500 http://deb.debian.org/debian stretch/main amd64 Packages
答案1
损坏的容器实际上是您的“工作容器”,以一种行尸走肉的方式:它的存储库缓存已经过时,因此apt policy
告诉您过去正确但现在不再正确的事情。如果您apt update
在其中运行,您将看到与“损坏的容器”中相同的情况。
如果您确实需要 PHP 7.2,则需要安装相应的包而不是安装libapache2-mod-php
包,这将始终拉取最新的稳定 PHP 版本。安装libapache2-mod-php7.2
应该可以解决您的问题。