pdo_mysql eliminado al actualizar a 16.04

9

Recientemente actualicé a 16.04 LTS. Y actualizó mi php a 7.0. Ahora, de alguna manera, se eliminó pdo_mysql. Necesito esta extensión para desarrollar el sitio web de magento. En phpinfo, encuentro

soporte de pdo: controladores de pdo habilitados: sin valores

He buscado mucho en Google y he encontrado estas soluciones:

  1. Instale php-mysql (ya era la versión más nueva)
  2. Instale php7.0-mysql (ya era la versión más reciente)
  3. Se modificó el siguiente en php.ini (/etc/php/7.0/apache2/php.ini): extensiones habilitadas pdo.so, pdo_mysql.so, mysqli.so. y también probé lo mismo dando sus rutas exactas (apache reiniciado después de hacer cambios)
  4. Incluso intenté instalar pdo_mysql usando pecl.

Ninguno de los métodos anteriores fue útil, he estado rompiendo mi cabeza en esto durante casi 2 días. La ayuda sería muy apreciada.

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

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

salida 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

salida 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
fuente
Por favor, publique la salida de php -r 'phpinfo();' | grep -i pdo. Y no debe habilitar las extensiones a mano, sino utilizarlas phpenmod. O, más bien, publique la salida completa de phpinfo () en algún lugar del mismo servidor virtual donde ejecuta magento. Sospecho que podría estar haciendo algo para su php.ini por defecto ...
oerdnj
Lo siento por mi respuesta tardía. Aquí está la salida: /etc/php/7.0/cli/conf.d/10-pdo.ini, PDO PDO support => drivers PDO habilitados =>
Rakshith S Kumar
También se agregó el resultado a la pregunta inicial.
Rakshith S Kumar
Y salida de: /usr/sbin/phpquery -v 7.0 -My dpkg -l php*mysql?
oerdnj
Se agregaron ambas salidas.
Rakshith S Kumar

Respuestas:

8

En esta etapa, simplemente recomendaría "apagarlo y volverlo a encender" haciendo:

sudo apt-get purge php-common php5-common

seguido por

sudo rm -r /etc/php

Y luego reinstalar PHP 7.0 y módulos mysql:

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

También puede intentar purgar y reinstalar módulos mysql, primero eliminando el paquete:

sudo apt-get purge php7.0-mysql

Y la instalación de nuevo:

sudo apt-get install php-mysql

En ambos casos, es importante usar en apt-get purgelugar de apt-get removeeliminar cualquier archivo de configuración existente y estados de paquete.

La forma menos destructiva sería intentar volver a habilitar los módulos mysql usando el phpenmodcomando:

sudo phpenmod mysqlnd pdo_mysql

Es difícil darle consejos correctos si no sabemos qué caos creó en su sistema.

oerdnj
fuente
Seguí los pasos de purga, eliminación de directorios, reinstalación y también purgué php7.0-mysql e instalé php-mysql. Ahora Apache dejó de funcionar, dice que no puede manejar las solicitudes. :(
Rakshith S Kumar
1
lo siento, tuve que instalar php7.0-xml, y todo estuvo bien. Muchas gracias.
Rakshith S Kumar