Passage de php7.0 vers php7.1

bonjour
je suis passé de php7.0 vers php7.1 mon site se plante et je trouve ce message dans mes logs:

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/20160303/php_mysqli.dll' - /usr/lib/php/20160303/php_mysqli.dll: cannot open shared object file: No such file or directory in Unknown on line 0

sachant que je suis sous debian Merci

Bonjour,
Je ne sais pas si c’est autorisé sur ce forum, mais, j’avais résolu ce problème sur forum.yunohost.org.
https://forum.yunohost.org/t/dokuwiki-sqlite-pdo-sqlite-php/9542/10?u=anonyme23
Je pense qu’il s’agit du même désagrément…
Bonne journée.

Salut,

Je ne vois pas pourquoi on t’interdirait d’indiquer une solution valable, d’où qu’elle provienne :wink:

Par contre, je n’ai pas regardé de près, mais quand j’ai vu
apt install php7.0-sqlite
alors que @noranina cherche à installer PHP 7.1 et que le message d’erreur parle de php-mysqli, je me demande si la solution est bien adaptée. Il y a cependant certainement des choses intéressantes à apprendre dans cette discussion.

Cela dit, je voudrais d’abord poser une question : pourquoi PHP 7.1 quand les dépôts Debian stable proposent PHP 7.3.11 et que PHP 7.4.2 vient de sortir ? Quitte à migrer, autant le faire dans la dernière version stable, non ?

Ensuite, le message d’erreur parle de php-mysqli, ce qui laisse penser soit que tu n’as pas mis à jour mysql (ou, selon le cas, mariadb), soit que tu n’en as pas besoin mais que tu as installé des modules PHP qui y font appel.

C’est curieux que les logs ne donnent qu’un warning, alors que ton site se plante… Es-tu sûr que ce soit bien cela qui en est la cause ?

En tous cas, il faut vérifier, dans les paquets php que tu as installés, lesquels te sont nécessaires et lequel a une dépendance avec php-mysqli. Et surtout, si tu ne l’as pas fait, mettre à jour mysql/mariadb vers une version compatible avec celle de php.

Bah quand on essaie de charger un fichier dll sur une Debian, c’est qu’il y a de sacrés problèmes de configuration…

Encore une fois fait le ménage sur ton système et utilise les dépôts officiels Debian (avec PHP7.3) : Installation de Php 7.3

sachant que mon serveur est sous debian pas windows

Effectivement ! Je n’avais pas fait gaffe qu’il s’agissait d’une DLL…

Donc, comme le souligne @anon70622873, une dll n’a absolument rien à faire ici !À minima, vérifie que ce ne soit pas une erreur dans un fichier de config, mais pour être sûr je repartirais sur de bonnes bases en désinstallant/réinstallant tous les paquets php et mysql/mariadb…

[joke]
Une dll n’est pas une Debian Linux Library ! :wink:
[/joke]

1 J'aime

Oui, c’est forcément dans un fichier de configuration de PHP. Il suffit de chercher dedans :

rgrep .dll /etc/php