Ubuntu 18.04升级后无法安装php7.2-curl

新手上路,请多包涵

今天使用 do-release-upgrade -d

在升级过程中,我被告知一些软件包将被删除,其中包括:

删除:libperl5.22 lxc-common perl-modules-5.22 php-imagick

php7.1-curl php7.2-curl python3-certbot-nginx

我可以毫无问题地重新安装 imagick 和 certbot,但是如果我尝试安装 php7.2-curl,我会收到消息:

 # apt install php7.2-curl -y
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 php7.2-curl : Depends: php7.2-common (= 7.2.3-1ubuntu1) but 7.2.4-1+ubuntu16.04.1+deb.sury.org+1 is to be installed
E: Unable to correct problems, you have held broken packages.

我该如何纠正这种情况?

原文由 Arni J 发布,翻译遵循 CC BY-SA 4.0 许可协议

回复
阅读 74
2 个回答

这可以为您节省:

 sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php7.2-fpm php7.2-gd php7.2-curl php7.2-mysql php7.2-dev php7.2-cli php7.2-common php7.2-mbstring php7.2-intl php7.2-zip php7.2-bcmath

然后 sudo service apache2 restart

原文由 Anson Wong 发布,翻译遵循 CC BY-SA 4.0 许可协议

您不需要添加新的回购协议。只需执行此操作即可安装 7.2 版本。记得之后重启php和apache。还要确保(虽然你可能已经这样做了)在以下之后启用新的模组:

 sudo apt install php-curl
sudo a2enmod php7.2

您可能还会注意到,在 php-curl 安装结束时(安装 php-curlphp7.2-curl )我有以下设置的 FPM如果您不使用 FPM,可能看起来会有所不同):

 NOTICE: Not enabling PHP 7.2 FPM by default.
NOTICE: To enable PHP 7.2 FPM in Apache2 do:
NOTICE: a2enmod proxy_fcgi setenvif
NOTICE: a2enconf php7.2-fpm
NOTICE: You are seeing this message because you have apache2 package installed.

所以按照它说的去做:

 sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php7.2-fpm
sudo systemctl restart apache2.service

原文由 J-a-n-u-s 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏