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:
- Installez php-mysql (c'était déjà la dernière version)
- Installez php7.0-mysql (c'était déjà la dernière version)
- 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)
- 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)
php -r 'phpinfo();' | grep -i pdo
. Et vous ne devez pas activer les extensions à la main, mais les utiliser à laphpenmod
place. 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 .../usr/sbin/phpquery -v 7.0 -M
etdpkg -l php*mysql
?Réponses:
À 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 purge
au lieu deapt-get remove
supprimer 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
phpenmod
commande: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.
la source