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:
- Installiere php-mysql (Es war bereits die neueste Version)
- Installiere php7.0-mysql (Es war bereits die neueste Version)
- 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)
- 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)
php -r 'phpinfo();' | grep -i pdo
. Und Sie sollten die Erweiterungen nicht manuell aktivieren, sondernphpenmod
stattdessen 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 .../usr/sbin/phpquery -v 7.0 -M
unddpkg -l php*mysql
?Antworten:
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 purge
anstatt sieapt-get remove
zu löschen.Der am wenigsten zerstörerische Weg wäre der Versuch, MySQL-Module mit dem folgenden
phpenmod
Befehl 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.
quelle