我尝试在 ubuntu 20.10 上安装 phpmyadmin,但是出现错误:
$ sudo apt install phpmyadmin
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
Certains paquets ne peuvent être installés. Ceci peut signifier
que vous avez demandé l'impossible, ou bien, si vous utilisez
la distribution unstable, que certains paquets n'ont pas encore
été créés ou ne sont pas sortis d'Incoming.
L'information suivante devrait vous aider à résoudre la situation :
Les paquets suivants contiennent des dépendances non satisfaites :
php-phpmyadmin-sql-parser : Dépend: php-mbstring
php-twig : Dépend: php-mbstring
phpmyadmin : Dépend: php-mbstring
Recommande: php-bz2
Recommande: php-zip
E: Impossible de corriger les problèmes, des paquets défectueux sont en mode « garder en l'état ».
如果我尝试:
$ sudo apt install php-mbstring
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
Certains paquets ne peuvent être installés. Ceci peut signifier
que vous avez demandé l'impossible, ou bien, si vous utilisez
la distribution unstable, que certains paquets n'ont pas encore
été créés ou ne sont pas sortis d'Incoming.
L'information suivante devrait vous aider à résoudre la situation :
Les paquets suivants contiennent des dépendances non satisfaites :
php7.4-mbstring : Dépend: php7.4-common (= 7.4.3-4ubuntu2.4) mais 7.4.9-1ubuntu1 devra être installé
E: Impossible de corriger les problèmes, des paquets défectueux sont en mode « garder en l'état ».
我尝试清除所有 php-* 包并重新安装php7.4
。
aptitude
不要解决问题apt -f install
...
编辑 :
$ php --version
PHP 7.4.9 (cli) (built: Aug 21 2020 23:31:19) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.9, Copyright (c), by Zend Technologies
$ apt-cache policy php7.4-mbstring phpmyadmin php7.4-common
php7.4-mbstring:
Installé : (aucun)
Candidat : 7.4.3-4ubuntu2.4
Table de version :
7.4.3-4ubuntu2.4 500
500 http://security.ubuntu.com/ubuntu focal-security/universe amd64 Packages
500 http://archive.ubuntu.com/ubuntu focal-updates/universe amd64 Packages
7.4.3-4ubuntu1 500
500 http://fr.archive.ubuntu.com/ubuntu focal/universe amd64 Packages
phpmyadmin:
Installé : (aucun)
Candidat : 4:4.9.5+dfsg1-2
Table de version :
4:4.9.5+dfsg1-2 500
500 http://fr.archive.ubuntu.com/ubuntu focal/universe amd64 Packages
500 http://fr.archive.ubuntu.com/ubuntu focal/universe i386 Packages
php7.4-common:
Installé : 7.4.9-1ubuntu1
Candidat : 7.4.9-1ubuntu1
Table de version :
*** 7.4.9-1ubuntu1 500
500 http://archive.ubuntu.com/ubuntu groovy/main amd64 Packages
100 /var/lib/dpkg/status
7.4.3-4ubuntu2.4 500
500 http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages
500 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages
7.4.3-4ubuntu1 500
500 http://fr.archive.ubuntu.com/ubuntu focal/main amd64 Packages
500 http://archive.ubuntu.com/ubuntu focal/main amd64 Packages
答案1
我在安装 php7.4-pgsql 时遇到了类似的问题,我想将其安装在 ubuntu 20.04 上,而其余 php7.4 模块则安装在 ubuntu 18.04 上。
$ sudo apt install php7.4-pgsql
The following packages contain unfulfilled dependencies
php7.4-pgsql : depends: php7.4-common (= 7.4.3-4ubuntu2.4) but 7.4.18-2 + ubuntu18.04.1 + deb.sury.org + 1 must be installed
E: Unable to correct problems, defective packages are in "keep as is" mode.
我不知道如何解释这个错误消息...我正在显示 php-7.4 包列表:
$ sudo dpkg --list | grep php7.4
ii php7.4 7.4.18-2+ubuntu18.04.1+deb.sury.org+1 all server-side, HTML-embedded scripting language (metapackage)
ii php7.4-cli 7.4.18-2+ubuntu18.04.1+deb.sury.org+1 amd64 command-line interpreter for the PHP scripting language
ii php7.4-common 7.4.18-2+ubuntu18.04.1+deb.sury.org+1 amd64 documentation, examples and common module for PHP
ii php7.4-curl 7.4.18-2+ubuntu18.04.1+deb.sury.org+1 amd64 CURL module for PHP
ii php7.4-gd 7.4.18-2+ubuntu18.04.1+deb.sury.org+1 amd64 GD module for PHP
ii php7.4-mysql 7.4.18-2+ubuntu18.04.1+deb.sury.org+1 amd64 MySQL module for PHP
ii php7.4-json 7.4.18-2+ubuntu18.04.1+deb.sury.org+1 amd64 JSON module for PHP
ii php7.4-opcache 7.4.18-2+ubuntu18.04.1+deb.sury.org+1 amd64 Zend OpCache module for PHP
ii php7.4-readline 7.4.18-2+ubuntu18.04.1+deb.sury.org+1 amd64 readline module for PHP
ii php7.4-xml 7.4.18-2+ubuntu18.04.1+deb.sury.org+1 amd64 DOM, SimpleXML, XML, and XSL module for PHP
显然,源中存在冲突,旧软件包来自 7.4.18-2 + ubuntu18.04.1 + deb.sury.org + 1,而新软件包由 7.4.3-4ubuntu2.4 提供...
所以我决定删除所有 php7.4-* 模块:
$ sudo apt remove --purge php7.4 php7.4-cli php7.4-common php7.4-curl php7.4-gd php7.4-json php7.4-mysql php7.4-opcache php7.4-readline php7.4-xml
之后重新安装它们:
$ sudo sudo apt install php7.4 php7.4-cli php7.4-common php7.4-curl php7.4-gd php7.4-json php7.4-mbstring php7.4-mysql php7.4-opcache php7.4-readline php7.4-xml -y
新的软件包不是来自源 7.4.18-2 + ubuntu18.04.1 + deb.sury.org + 1,而是来自 7.4.3-4ubuntu2.4:
$ sudo dpkg --list | grep php7.4
ii php7.4 7.4.3-4ubuntu2.4 all server-side, HTML-embedded scripting language (metapackage)
ii php7.4-cli 7.4.3-4ubuntu2.4 amd64 command-line interpreter for the PHP scripting language
ii php7.4-common 7.4.3-4ubuntu2.4 amd64 documentation, examples and common module for PHP
ii php7.4-curl 7.4.3-4ubuntu2.4 amd64 CURL module for PHP
ii php7.4-gd 7.4.3-4ubuntu2.4 amd64 GD module for PHP
ii php7.4-json 7.4.3-4ubuntu2.4 amd64 JSON module for PHP
ii php7.4-mysql 7.4.3-4ubuntu2.4 amd64 MySQL module for PHP
ii php7.4-opcache 7.4.3-4ubuntu2.4 amd64 Zend OpCache module for PHP
ii php7.4-readline 7.4.3-4ubuntu2.4 amd64 readline module for PHP
ii php7.4-xml 7.4.3-4ubuntu2.4 amd64 DOM, SimpleXML, XML, and XSL module for PHP
php7.4-pgsql 包终于正确安装
sudo apt install php7.4-pgsql
sudo dpkg --list | grep php7.4-pgsql
ii php7.4-pgsql
答案2
我升级了 Ubuntu 版本,它解决了我的问题