pdo_mysql supprimé lors de la mise à jour vers 16.04

9

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

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

J'ai beaucoup googlé et trouvé ces solutions:

  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. Modifications suivantes 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 (redémarré apache après avoir fait des changements)
  4. Même essayé d'installer pdo_mysql en utilisant pecl.

Aucune des méthodes ci-dessus n'a été utile, je me suis cassé la tête depuis près de 2 jours maintenant. Une 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)
Rakshith S Kumar
la source
Veuillez publier la sortie de php -r 'phpinfo();' | grep -i pdo. Et vous ne devez pas activer les extensions à la main, mais les utiliser à la phpenmodplace. Ou plutôt publier la sortie complète de phpinfo () quelque part à partir du même serveur virtuel où vous exécutez magento. Je soupçonne que vous pourriez faire quelque chose à votre php.ini par défaut ...
oerdnj
Désolé pour ma réponse tardive. Voici la sortie: /etc/php/7.0/cli/conf.d/10-pdo.ini, prise en charge PDO PDO => pilotes PDO activés =>
Rakshith S Kumar
Ajout de la sortie à la question initiale également.
Rakshith S Kumar
Et sortie de: /usr/sbin/phpquery -v 7.0 -Met dpkg -l php*mysql?
oerdnj
Ajout des deux sorties.
Rakshith S Kumar

Réponses:

8

À ce stade, je recommanderais simplement de "l'éteindre et de le rallumer" en faisant:

sudo apt-get purge php-common php5-common

suivi par

sudo rm -r /etc/php

Et puis réinstaller 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 package:

sudo apt-get purge php7.0-mysql

Et les réinstaller:

sudo apt-get install php-mysql

Dans les deux cas, il est important d'utiliser apt-get purgeau lieu de apt-get removesupprimer les fichiers de configuration et les états de package existants.

La manière la moins destructrice serait d'essayer de réactiver les modules mysql en utilisant la phpenmodcommande:

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.

oerdnj
la source
J'ai suivi les étapes de purge, de suppression des répertoires, de réinstallation et de purge de php7.0-mysql et de l'installation de php-mysql. Maintenant, apache lui-même a cessé de fonctionner, dit-il incapable de gérer les demandes. :(
Rakshith S Kumar
1
désolé ma mauvaise, j'ai dû installer php7.0-xml, et tout allait bien. Merci beaucoup.
Rakshith S Kumar