J'ai Ubuntu 14.04 EC2 instance. J'ai installé php 7 dessus. quand j'exécute une commande php comme php --version ou autre. Je reçois l'erreur suivante
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/php_mysqli.dll' - /usr/lib/php/20151012/php_mysqli.dll: cannot open shared object file: No such file or directory in Unknown on line 0
J'ai essayé de suivre
mais rien n'a fonctionné pour moi.
Toute suggestion comment je peux résoudre ceci?
Si vous êtes sous Linux, vous ne devriez pas avoir les fichiers DLL mais les fichiers SO. Donc, vous devez d’abord enlever/désactiver le php_mysqli.dll que vous avez ajouté dans php.ini.
Pour utiliser mysqli, vous devriez alors:
apt-get install php-mysql
phpinfo()
par exemple)/etc/php/mods-available/
s'il existe un mysqli.ini
contenant extension=mysqli.so
, puis recherchez CLI/FPM/Apache/other s'il existe un lien symbolique pointant vers ce fichier (par exemple pour CLI, dans /etc/php/cli/conf.d/
: 20-mysqli.ini -> ../../mods-available/mysqli.ini
)J'ai récemment rencontré ce problème sur ubuntu16.04, je l'ai finalement résolu en ajoutant un point-virgule à chaque ligne comme extension=php_*.dll
, car je pense que LAMP sur ubuntu est suffisamment intelligent pour ouvrir automatiquement toutes les extensions. Et sur Windows, nous devons activer les extensions manuellement en supprimant le point-virgule à chaque ligne, comme ;extension=php_*.dll
dans php.ini
.
Dans mon cas, c'est parce que je n'ai pas commenté la ligne extension=php_mysqli.dll
du fichier php.ini pour exécuter un autre paquet. Après avoir cherché sur Google, j'ai trouvé que vous ne devriez pas commenter quoi que ce soit directement à partir de php.ini. Vous devriez plutôt installer l'extension PHP requise et faire le reste.
Mettez juste en commentaire toutes les lignes avec les extensions .dll car vous êtes sur Ubuntu. Ubuntu supporte les fichiers .so.