Проблема с PHP в Ubuntu после обновления mysql до версии 5.7


Я обновил версию mysql с 5.5 до 5.7 на своем Ubuntu.

Но после этого ничего, связанного с mysql, не работало. Я также обновил пакет php5-mysql.

Я узнал, что мне нужно установить пакет php5-mysqlnd с помощью команды sudo apt-get установить php5-mysqlnd. Но он не может быть установлен. сообщение:

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 resolve the situation:

The following packages have unmet dependencies:
 php5-mysqlnd : Depends: phpapi-20121212
                Depends: php5-common (= 5.5.36+dfsg-1+donate.sury.org~trusty+1) but 5.6.18+dfsg-1+deb.sury.org~trusty+1 is to be installed
E: Unable to correct problems, you have held broken packages.

Моя версия PHP 5.6.18-1+deb.sury.org ~надежный+1

Author: Mojtaba, 2016-06-10

1 answers

У вас есть несколько пакетов из одного репозитория и некоторые другие из основного репозитория. Кроме того, и именно здесь возникает ошибка, некоторые из этих пакетов хранятся . Вы выбрали не для их обновления:

php5-mysqlnd : Depends: phpapi-20121212
               Depends: php5-common (= 5.5.36...) but 5.6.18... is to be
                        installed
E: Unable to correct problems, you have held broken packages.

Что, вероятно, произошло

Во время предыдущего обновления в системе произошла ошибка, и было предложено несколько решений, одно из которых звучало так: "...продолжить и разорвать зависимости ". Вы выбрали этот вариант - то есть вы подписал отказ от APT, сказав: "Я никогда не буду обновлять это".

Теперь вы хотите сделать именно это - и вы больше не можете.

Что вам нужно сделать

Вам нужно идентифицировать эти удерживаемые пакеты, определить, почему они удерживаются, и соответствующим образом обновить их; или вернуться к MySQL 5.5, если будет нарушена какая-то более важная зависимость.

apt-get update

apt-get --ignore-hold --dry-run upgrade

Расскажет вам, что произойдет, если вы попытаетесь обновить также те пакеты, которые в настоящее время хранятся. Вы можно также попробовать варианты --fix-missing и --fix-broken. Но самый важный ответ, который вам нужен, это , почему эти пакеты были задержаны в первую очередь.

Если вы просто продолжите и проигнорируете удерживаемые пакеты, вы рискуете сломать что-то, что не может быть легко восстановлено. Я сделал это однажды, когда невольно обновил отложенный пакет Subversion, который требовался для доступа к определенному и очень разборчивому репозиторию. Обновление прошло нормально, но затем я больше не мог вносить изменения в исходный код.

 1
Author: LSerni, 2016-06-15 12:02:35