2016-06-10 2 views
2

Я обновил версию mysql с 5.5 до 5.7 на своем Ubuntu.PHP с выпуском в Ubuntu после обновления mysql до v5.7

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

Я выяснил, что мне нужно установить пакет php5-mysqlnd, используя команду sudo apt-get install 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

+5

Похоже, вы используете пользовательский репозиторий 'donate.sury.org', пожалуйста, добавьте вашу конфигурацию' apt' в вопрос. И попробуйте с репозиториями по умолчанию? –

ответ

1

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

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 с поддержкой обратной связи, который требовался для доступа к определенному и очень разборчивому репозиторию. Обновление прошло нормально, но я больше не мог изменять исходные данные.

Смежные вопросы