pdo_mysql rimosso durante l'aggiornamento a 16.04


9

Di recente ho aggiornato a 16.04 LTS. E ha aggiornato il mio php a 7.0. Ora in qualche modo rimosso pdo_mysql. Ho bisogno di questa estensione per sviluppare il sito Web di Magento. In phpinfo, trovo

supporto pdo: driver pdo abilitati: nessun valore

Ho cercato su Google molto e ho trovato queste soluzioni:

  1. Installa php-mysql (era già la versione più recente)
  2. Installa php7.0-mysql (era già la versione più recente)
  3. Modificato in seguito in php.ini (/etc/php/7.0/apache2/php.ini): estensioni abilitate pdo.so, pdo_mysql.so, mysqli.so. e ha anche provato lo stesso fornendo i loro percorsi esatti (riavviato Apache dopo aver apportato le modifiche)
  4. Ho anche provato a installare pdo_mysql usando pecl.

Nessuno dei metodi di cui sopra è stato utile, mi sto rompendo la testa per quasi 2 giorni. L'aiuto sarebbe molto apprezzato.

Output di php -r 'phpinfo ();' | grep -i pdo:

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

output di / 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

output di 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)

Si prega di inviare output di php -r 'phpinfo();' | grep -i pdo. E non dovresti abilitare le estensioni a mano, ma usa phpenmodinvece. O meglio pubblicare l'output completo di phpinfo () da qualche parte dallo stesso server virtuale in cui si esegue magento. Sospetto che potresti fare qualcosa con il tuo php.ini predefinito ...
oerdnj,

Mi scuso per la risposta tardiva. Ecco l'output: /etc/php/7.0/cli/conf.d/10-pdo.ini, supporto DOP DOP => driver PDO abilitati =>
Rakshith S Kumar

Aggiunto anche l'output alla domanda iniziale.
Rakshith S Kumar,

E output di: /usr/sbin/phpquery -v 7.0 -Me dpkg -l php*mysql?
oerdnj,

Aggiunti entrambi gli output.
Rakshith S Kumar

Risposte:


8

A questo punto, consiglierei semplicemente di "spegnerlo e riaccenderlo" facendo:

sudo apt-get purge php-common php5-common

seguito da

sudo rm -r /etc/php

E quindi reinstallare i moduli PHP 7.0 e mysql:

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

Puoi anche provare a eliminare e reinstallare i moduli mysql, rimuovendo prima il pacchetto:

sudo apt-get purge php7.0-mysql

E installarli di nuovo:

sudo apt-get install php-mysql

In entrambi i casi è importante utilizzare apt-get purgeinvece di apt-get removeeliminare eventuali file di configurazione e stati dei pacchetti esistenti.

Il modo meno distruttivo sarebbe provare a riattivare i moduli mysql usando il phpenmodcomando:

sudo phpenmod mysqlnd pdo_mysql

È difficile darti consigli corretti se non sappiamo quale caos hai creato sul tuo sistema.


Ho seguito i passaggi di eliminazione, rimozione di directory, reinstallazione e anche eliminazione di php7.0-mysql e installazione di php-mysql. Ora lo stesso apache ha smesso di funzionare, dice incapace di gestire le richieste. :(
Rakshith S Kumar

1
scusami male, ho dovuto installare php7.0-xml e tutto andava bene. Molte grazie.
Rakshith S Kumar
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.