2016-06-10 34 views
2

Ich habe die MySQL-Version von 5.5 auf 5.7 auf meinem Ubuntu aktualisiert.PHP mit Problem in Ubuntu nach dem Upgrade von MySQL auf v5.7

Aber nichts mit dem mysql verwandt hat danach gearbeitet. Ich habe auch das php5-mysql-Paket aktualisiert.

Ich fand heraus, dass ich php5-mysqlnd-Paket mit Befehl Sudo apt-get installieren PHP5-Mysqlnd installieren muss. Aber, es kann nicht installiert werden. die Nachricht:

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. 

Meine PHP Version 5.6.18-1 + deb.sury.org ~ treuen + 1

+5

Es sieht so aus, als ob Sie ein benutzerdefiniertes Repository 'donate.sury.org' verwenden, fügen Sie bitte Ihre' apt' Konfiguration in die Frage ein. Und versuchen Sie es mit den Standard-Repositories? –

Antwort

1

Sie haben einige Pakete aus einem Repository, und einige andere aus dem Haupt-Repository. Zusätzlich, und das ist, wo der Fehler schleicht sich, einige dieser Pakete sind gehalten. Sie wählten nicht, sie zu aktualisieren:

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. 

Was

Während einer früheren Aktualisierung geschah wahrscheinlich, hatte das System einen Fehler und schlug einige Beschlüsse, von denen einer nach der Melodie war " ... fortfahren und Abhängigkeiten brechen ". Du hast dich für dieses entschieden - d. H. Du hast einen Verzicht auf APT unterschrieben, in dem du sagst: "Ich werde niemals ein Upgrade , dass".

Jetzt möchten Sie genau das tun - und Sie können nicht mehr.

Was brauchen Sie

Sie tun müssen, diese gehaltene Pakete zu identifizieren, festzustellen, warum sie gehalten, und aktualisieren sie entsprechend; oder zurück zu MySQL 5.5, wenn eine wichtigere Abhängigkeit gebrochen wäre.

wird Ihnen sagen, was passieren würde, wenn Sie versuchen und aktualisieren Sie auch die Pakete, die derzeit gehalten werden. Sie können auch die Optionen --fix-missing und --fix-broken ausprobieren. Aber die wichtigste Antwort, die Sie brauchen, ist warum wurden diese Pakete an erster Stelle zurückgehalten.

Wenn Sie einfach fortfahren und die gehaltenen Pakete ignorieren, riskieren Sie, dass Sie etwas kaputt machen, das nicht einfach repariert werden kann. Ich habe das einmal gemacht, als ich unwissentlich ein zurückgehaltenes Subversion-Paket aktualisiert habe, das für den Zugriff auf ein spezifisches und sehr wählerisches Repository erforderlich war. Das Upgrade ist in Ordnung gegangen, aber dann konnte ich keine Quelländerungen mehr vornehmen.