J'ai couru la commande:
php -v
Production:
PHP Warning: PHP Startup: Unable to load dynamic library 'pdo_mysql.so' (tried: /usr/lib/php/20170718/pdo_mysql.so (/usr/lib/php/20170718/pdo_mysql.so: undefined symbol: mysqlnd_allocator), /usr/lib/php/20170718/pdo_mysql.so.so (/usr/lib/php/20170718/pdo_mysql.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
J'ai couru cette commande:
php -m
Production:
PHP Warning: PHP Startup: Unable to load dynamic library 'pdo_mysql.so' (tried: /usr/lib/php/20170718/pdo_mysql.so (/usr/lib/php/20170718/pdo_mysql.so: undefined symbol: mysqlnd_allocator), /usr/lib/php/20170718/pdo_mysql.so.so (/usr/lib/php/20170718/pdo_mysql.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
[PHP Modules]
bz2
calendar
Core
ctype
curl
date
dom
exif
fileinfo
filter
ftp
Gd
gettext
hash
iconv
intl
json
libxml
mbstring
openssl
pcntl
pcre
PDO
Phar
posix
readline
Reflection
session
shmop
SimpleXML
soap
sockets
sodium
SPL
standard
sysvmsg
sysvsem
sysvshm
tokenizer
wddx
xml
xmlreader
xmlwriter
xsl
Zend OPcache
Zip
zlib
[Zend Modules]
Zend OPcache
Le fichier php.ini contient cette ligne:
extension=pdo_mysql
A couru cette commande:
Sudo apt-get install -y php-pdo-mysql
Rien n'est installé, car il est déjà installé.
A couru cette commande:
php -i
Sortie montre:
PDO
PDO support => enabled
PDO drivers =>
Je ne sais pas pourquoi c'est ou quoi faire. Aucune suggestion?
Assurez-vous que l'emplacement du fichier PDO_MYSQL.SO est le même de PHP extension_dir:
# php -i|grep extension_dir
# find / -name pdo_mysql.so
En faisant cela et ajoutant la voie absolue sur le php.ini comme ceci:
extension=/usr/lib/php/20190902/pdo_mysql
cela fonctionnera.