J'ai essayé d'installer php (7.2) dans Ubuntu (16.04) avec PDO activé. Je n'ai pas besoin de php comme module apache, car je veux utiliser le serveur intégré PHP (en mode cli, comme php -S localhost:80
).
Alors, voici ce que je fais:
sudo apt-get install php
sudo apt-get install php-mysql
sudo cp /usr/lib/php/7.2/php.ini-production.cli /etc/php/7.2/cli/php.ini
Maintenant, dans php.ini sans commentaire:
extension=pdo_mysql
Et quand je cours, php -v
j'obtiens l'erreur:
PHP Warning: PHP Startup: Unable to load dynamic library 'pdo_mysql' (tried: /usr/lib/php/20170718/pdo_mysql (/usr/lib/php/20170718/pdo_mysql: cannot open shared object file: No such file or directory), /usr/lib/php/20170718/pdo_mysql.so (/usr/lib/php/20170718/pdo_mysql.so: undefined symbol: pdo_parse_params)) in Unknown on line 0
php -m
production:
[PHP Modules]
Core
date
filter
hash
libxml
openssl
pcntl
pcre
Reflection
session
sodium
SPL
standard
zlib
[Zend Modules]
sudo phpenmod pdo_mysql
me donne/usr/sbin/phpenmod: 31: .: Can't open /usr/lib/php/php-helper
Réponses:
J'ai résolu le problème de cette façon:
sudo apt-get --purge remove php-common
sudo apt-get install php-common php-mysql php-cli
Maintenant, il n'y a pas d'erreur et
php -m
montre qu'il a tout:Je ne sais toujours pas ce qui a causé le problème en premier lieu
la source
xampp
problème dans Ubuntu 16.04. MerciJe me suis créé le même problème sur ma boîte de travail en décommentant manuellement plusieurs
lignes dans le
php.ini
. C'était vraiment moi qui devinais leapt-get install
processus. Je pense que php7 + moderne gère ces extensions en utilisantconf.d
des fichiers spécifiques comme:/etc/php/7.3/cli/conf.d/10-pdo.ini
/etc/php/7.3/cli/conf.d/20-pdo_mysql.ini
La réponse alors pour moi a été de commenter à nouveau ces
;extension
lignes dans lephp.ini
dossier du cli .la source