web-dev-qa-db-fra.com

pdo_mysql supprimé lors de la mise à jour vers 16.04

J'ai récemment mis à jour à 16.04 LTS. Et il a mis à jour mon php à 7.0. Maintenant, certains comment pdo_mysql enlevé. J'ai besoin de cette extension pour développer le site web magento. Dans phpinfo, je trouve

prise en charge de pdo: pilotes pdo activés: aucune valeur

J'ai beaucoup cherché sur Google et j'ai trouvé les solutions suivantes:

  1. Installez php-mysql (c'était déjà la dernière version)
  2. Installez php7.0-mysql (c'était déjà la dernière version)
  3. Modifié après dans php.ini (/etc/php/7.0/Apache2/php.ini): extensions activées pdo.so, pdo_mysql.so, mysqli.so. et a également essayé la même chose en donnant leurs chemins exacts (Apache redémarré après avoir apporté des modifications)
  4. Même essayé d'installer pdo_mysql en utilisant pecl.

Aucune des méthodes ci-dessus n'a été utile, cela fait presque 2 jours que je me casse la tête. L'aide serait très appréciée.

Sortie de php -r 'phpinfo ();' | grep -i pdo:

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

sortie de/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

sortie de 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)
9
Rakshith S Kumar

A ce stade, je recommanderais simplement "d'éteindre et d'allumer de nouveau" en faisant:

Sudo apt-get purge php-common php5-common

suivi par

Sudo rm -r /etc/php

Ensuite, réinstallez les modules PHP 7.0 et mysql:

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

Vous pouvez également essayer de purger et de réinstaller les modules mysql, en supprimant d’abord le paquet:

Sudo apt-get purge php7.0-mysql

Et les les réinstallant:

Sudo apt-get install php-mysql

Dans les deux cas, il est important d'utiliser apt-get purge au lieu de apt-get remove pour supprimer les fichiers de configuration et les états de package existants.

La méthode la moins destructive serait de réactiver les modules mysql en utilisant la commande phpenmod:

Sudo phpenmod mysqlnd pdo_mysql

Il est difficile de vous donner des conseils corrects si nous ne savons pas quel chaos vous avez créé sur votre système.

8
oerdnj