pdo_mysql removido na atualização para 16.04

7

Atualizei recentemente para 16.04 LTS. E atualizou meu php para 7.0. Agora, de alguma forma, como removido pdo_mysql. Eu preciso dessa extensão para desenvolver o site magento. No phpinfo, eu acho

pdo support: ativado drivers pdo: sem valores

Eu pesquisei muito e encontrei estas soluções:

  1. Instalar o php-mysql (já era a versão mais recente)
  2. Instalar o php7.0-mysql (já era a versão mais recente)
  3. Alterado a seguir em php.ini (/etc/php/7.0/apache2/php.ini): extensões ativadas pdo.so, pdo_mysql.so, mysqli.so. e também tentou o mesmo, dando seus caminhos exatos (reiniciado apache depois de fazer alterações)
  4. Até tentei instalar pdo_mysql usando pecl.

Nenhum dos métodos acima foi útil, eu tenho quebrado a minha cabeça sobre isso por quase 2 dias agora. Ajuda seria muito apreciada.

Saída do php -r 'phpinfo ();' | grep -i pdo:

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

saída 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

saída do 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)
    
por Rakshith S Kumar 29.04.2016 / 05:58

1 resposta

7

Nesta fase, eu recomendaria simplesmente "desligá-lo e ligá-lo novamente":

sudo apt-get purge php-common php5-common

seguido por

sudo rm -r /etc/php

E então reinstalar os módulos PHP 7.0 e mysql:

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

Você também pode tentar apenas limpar e reinstalar módulos mysql, primeiro removendo o pacote:

sudo apt-get purge php7.0-mysql

E a instalação deles novamente:

sudo apt-get install php-mysql

Em ambos os casos, é importante usar apt-get purge em vez de apt-get remove para excluir quaisquer arquivos de configuração e estados de pacotes existentes.

A maneira menos destrutiva seria tentar reativar os módulos mysql usando o comando phpenmod :

sudo phpenmod mysqlnd pdo_mysql

É difícil dar conselhos corretos se não soubermos o caos que você criou em seu sistema.

    
por oerdnj 01.05.2016 / 13:17