pdo_mysql wurde beim Update auf 16.04 entfernt


9

Ich habe kürzlich auf 16.04 LTS aktualisiert. Und es hat mein PHP auf 7.0 aktualisiert. Jetzt ist es ein bisschen wie pdo_mysql entfernt. Ich benötige diese Erweiterung, um eine Magento-Website zu entwickeln. In phpinfo finde ich

PDO-Unterstützung: Aktivierte PDO-Treiber: Keine Werte

Ich habe viel gegoogelt und folgende Lösungen gefunden:

  1. Installiere php-mysql (Es war bereits die neueste Version)
  2. Installiere php7.0-mysql (Es war bereits die neueste Version)
  3. In php.ini (/etc/php/7.0/apache2/php.ini) wurde Folgendes geändert: aktivierte Erweiterungen pdo.so, pdo_mysql.so, mysqli.so. und versuchte es auch, indem sie ihre genauen Pfade angaben (Apache nach Änderungen neu gestartet)
  4. Ich habe sogar versucht, pdo_mysql mit pecl zu installieren.

Keine der oben genannten Methoden war hilfreich, ich habe mir seit fast 2 Tagen den Kopf gebrochen. Hilfe wäre sehr dankbar.

Ausgabe von php -r 'phpinfo ();' | grep -i pdo:

/etc/php/7.0/cli/conf.d/10-pdo.ini,
PDO
PDO support => enabled
PDO drivers =>  

Ausgabe von / usr / sbin / phpquery -v 7.0 -M

mysqlnd
sysvmsg
sockets
gd
mcrypt
phar
xsl
xmlreader
shmop
sysvsem
mysqli
xml
tokenizer
iconv
pdo
pdo_mysql
gettext
simplexml
xmlwriter
opcache
posix
sysvshm
ftp
dom
json
readline
calendar
fileinfo
ctype
wddx
exif

Ausgabe von dpkg -l php * mysql

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name           Version      Architecture Description
+++-==============-============-============-=================================
ii  php-mysql      1:7.0+35ubun all          MySQL module for PHP [default]
un  php-pdo-mysql  <none>       <none>       (no description available)
rc  php5-mysql     5.6.11+dfsg- amd64        MySQL module for php5
ii  php7.0-mysql   7.0.4-7ubunt amd64        MySQL module for PHP
un  php7.0-pdo-mys <none>       <none>       (no description available)

Bitte poste die Ausgabe von php -r 'phpinfo();' | grep -i pdo. Und Sie sollten die Erweiterungen nicht manuell aktivieren, sondern phpenmodstattdessen verwenden. Oder veröffentlichen Sie die vollständige Ausgabe von phpinfo () irgendwo auf demselben virtuellen Server, auf dem Sie magento ausführen. Ich vermute, Sie könnten etwas mit Ihrer Standard-php.ini tun ...
oerdnj

Sorry für meine späte Antwort. Hier ist die Ausgabe: /etc/php/7.0/cli/conf.d/10-pdo.ini, PDO PDO-Unterstützung => aktivierte PDO-Treiber =>
Rakshith S Kumar

Die Ausgabe wurde auch zur ersten Frage hinzugefügt.
Rakshith S Kumar

Und Ausgabe von: /usr/sbin/phpquery -v 7.0 -Mund dpkg -l php*mysql?
Oerdnj

Beide Ausgänge hinzugefügt.
Rakshith S Kumar

Antworten:


8

In diesem Stadium würde ich einfach empfehlen, "es aus- und wieder einzuschalten", indem Sie Folgendes tun:

sudo apt-get purge php-common php5-common

gefolgt von

sudo rm -r /etc/php

Und dann PHP 7.0 und MySQL-Module neu installieren:

sudo apt-get install libapache2-mod-php php-mysql

Sie können auch versuchen, MySQL-Module zu löschen und neu zu installieren, indem Sie zuerst das Paket entfernen:

sudo apt-get purge php7.0-mysql

Und die Installation wieder:

sudo apt-get install php-mysql

In beiden Fällen ist es wichtig, vorhandene Konfigurationsdateien und Paketzustände zu verwenden, apt-get purgeanstatt sie apt-get removezu löschen.

Der am wenigsten zerstörerische Weg wäre der Versuch, MySQL-Module mit dem folgenden phpenmodBefehl wieder zu aktivieren :

sudo phpenmod mysqlnd pdo_mysql

Es ist schwierig, Ihnen den richtigen Rat zu geben, wenn wir nicht wissen, welches Chaos Sie auf Ihrem System verursacht haben.


Ich folgte den Schritten des Löschens, Entfernens von Verzeichnissen, Neuinstallieren und Löschen von php7.0-mysql und installierte php-mysql. Jetzt funktioniert Apache selbst nicht mehr. Es heißt, dass Anfragen nicht bearbeitet werden können. :(
Rakshith S Kumar

1
Entschuldigung, ich musste php7.0-xml installieren und alles war in Ordnung. Vielen Dank.
Rakshith S Kumar
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.