Eu atualizei recentemente para 16.04 LTS. E atualizou meu php para 7.0. Agora, como remover pdo_mysql. Eu preciso dessa extensão para desenvolver o site magento. No phpinfo, acho
suporte pdo: habilitado drivers pdo: sem valores
Pesquisei bastante no Google e encontrei estas soluções:
- Instale o php-mysql (já era a versão mais recente)
- Instale o php7.0-mysql (já era a versão mais recente)
- Alterado a seguir no php.ini (/etc/php/7.0/apache2/php.ini): extensões ativadas pdo.so, pdo_mysql.so, mysqli.so. e também tentei o mesmo, fornecendo seus caminhos exatos (apache reiniciado após fazer alterações)
- Até tentei instalar o pdo_mysql usando o pecl.
Nenhum dos métodos acima foi útil, estou quebrando minha cabeça há quase dois dias. A ajuda seria muito apreciada.
Saída de 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)
php -r 'phpinfo();' | grep -i pdo
. E você não deve habilitar as extensões manualmente, mas usar em seuphpenmod
lugar. Ou melhor, poste a saída completa do phpinfo () em algum lugar do mesmo servidor virtual em que você executa o magento. Eu suspeito que você poderia estar fazendo algo para o seu php.ini padrão .../usr/sbin/phpquery -v 7.0 -M
edpkg -l php*mysql
?Respostas:
Nesse estágio, eu simplesmente recomendaria "desligar e ligar novamente" fazendo:
sudo apt-get purge php-common php5-common
Seguido por
sudo rm -r /etc/php
E, em seguida, reinstalando o PHP 7.0 e os módulos mysql:
sudo apt-get install libapache2-mod-php php-mysql
Você também pode tentar apenas remover e reinstalar os 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
Nos dois casos, é importante usar em
apt-get purge
vez deapt-get remove
excluir os arquivos de configuração e estados de pacotes existentes.A maneira menos destrutiva seria tentar reativar os módulos mysql usando o
phpenmod
comando:sudo phpenmod mysqlnd pdo_mysql
É difícil dar conselhos corretos se não soubermos o caos que você criou no seu sistema.
fonte