Bonjour,
Le message d'erreur suivant s'affiche en haut de notre galerie :
Warning: mysqli::__construct(): Headers and client library minor version mismatch. Headers:50651 Library:50562 in /home/tb2b93hz/phototheque.utl-essonne.org/include/dblayer/functions_mysqli.inc.php on line 52
Quelle est la raison de ce message ?
Je précise que depuis bientôt un an les vignettes ne sont plus générées et que je ne peux pas upgrader la version de php sans plantage de la galerie.
Version de Piwigo: 15.7.0
Version de PHP: 7.3.33
Version de MySQL: 5.6.51-cll-lve
URL Piwigo: http://phototheque.utl-essonne.org/
Merci par avance pour votre aide.
Cordialement
Hors ligne
Bonjour,
https://fr.piwigo.org/guides/installati … 3%A9requis
En gros : il vous faut changer d'hébergeur.
Hors ligne
Bonjour,
Merci pour votre réponse rapide.
Avant de changer d'hébergeur j'aimerai savoir quels sont les paramètres php nécessaires.
En effet, j'ai coché imagik dans les paramètres de notre version de php et maintenant les vignettes s'affichent. Y a-til d'autre paramètres obligatoires ?
Reste le problème de l'entête qui affiche un message d'erreur que je n'ai pas trouvé la solution.
Cordialement
Hors ligne
Toutes les informations se trouvent sur le lien mentionné plus haut.
Mais c'est vrai que imagick (ou image-magick) ne sont pas mentionnés... C'est qu'ils doivent faire parti du bundle généralement...
Hors ligne
Bonjour,
Merci pour votre réponse.
Comment résoudre l'erreur d'en tête ?
Warning: mysqli::__construct(): Headers and client library minor version mismatch. Headers:50651 Library:50562 in /home/tb2b93hz/phototheque.utl-essonne.org/include/dblayer/functions_mysqli.inc.php on line 52
Dans le répertoire /include/dblayer il y deux fichiers php :
- functions_mysql.inc.php
- functions_mysqli.inc.php
La ligne 52 du fichier functions_mysqli.inc.php qui renvoie l'erreur contient :
- $mysqli = new mysqli($host, $user, $password, $dbname, $port, $socket);
Que faut-il modifier pour que l'en-tête s'affiche à nouveau correctement ?
Bien cordialement
Hors ligne
C'est que vous avez une vieille version de PHP qui n'est plus vraiment supportée...
Hors ligne
Mon conseil : laissez par défaut (il y a forcément des extensions déjà cochées) et si quelque chose ne fonctionne ou est requis, alors là voir à activer les extensions.
Les hébergeurs n'aiment pas trop que l'on mette notre nez dedans généralement car par défaut, c'est stable.
Hors ligne
Ce que j'ai chez moi (O2switch)
- [ ] **Extensions chargées (phpinfo.php)**
- [ ] mysqli ✅
- [ ] pdo_mysql ✅
- [ ] gd ✅
- [ ] curl ✅
- [ ] zip ✅
- [ ] mbstring ✅
- [ ] intl ✅
- [ ] exif ✅
- [ ] openssl ✅
- [ ] sockets ✅
- [ ] **Limites PHP (phpinfo.php)**
- [ ] memory_limit = 512M ✅
- [ ] post_max_size = 256M ✅
- [ ] upload_max_filesize = 256M ✅
- [ ] max_execution_time = 300 ✅
Ca ne veut pas dire ce que cela constitue en une base minimale de configuration !!
Hors ligne
Bonjour,
J'ai mis à jour la version de php et de Piwigo. L'environnement est maintenant :
-Piwigo 16.3.0 n
- Système d'exploitation: Linux
- PHP: 8.1.34
- MySQL: 5.6.51-cll-lve
J'ai toujours la même erreur d'en-tête : Warning: mysqli::__construct(): Headers and client library minor version mismatch. Headers:50651 Library:50562 in /home/tb2b93hz/phototheque.utl-essonne.org/include/dblayer/functions_mysqli.inc.php on line 52
J'ai créé une galerie Piwigo sous un autre nom de domaine et l'erreur d'en-tête persiste.
De plus, je me suis rendu compte que je ne peux pas supprimer un album, le système boucle.
Quelle peut être la raison de ces dysfonctionnements ? Un problème de serveur ?
Cordialement
Hors ligne
Réponse IA :
Ton erreur est liée à une **incompatibilité de version mineure entre les en-têtes MySQL (headers) et la bibliothèque cliente MySQL (library)** utilisée par PHP. Voici ce que cela signifie et comment la résoudre :
---
### **Explication de l'erreur**
- **Headers: 50651** : Cela correspond à la version **5.6.51** de MySQL (utilisée pour compiler l'extension PHP `mysqli`).
- **Library: 50562** : Cela correspond à la version **5.5.62** de la bibliothèque cliente MySQL installée sur ton système.
PHP utilise les en-têtes pour compiler l'extension `mysqli`, mais la bibliothèque cliente MySQL installée sur ton serveur est d'une version différente (plus ancienne). Cela provoque un avertissement, mais ne bloque pas forcément le fonctionnement de Piwigo.
---
### **Solutions possibles**
#### 1. **Mettre à jour la bibliothèque cliente MySQL**
La solution la plus propre est d'installer la version **5.6.51** de la bibliothèque cliente MySQL sur ton serveur Linux, pour qu'elle corresponde aux en-têtes utilisés par PHP.
- **Sur Debian/Ubuntu** :
```bash
sudo apt-get install libmysqlclient-dev=5.6.51-*
```
(Remplace `5.6.51-*` par la version exacte disponible dans tes dépôts.)
- **Sur CentOS/RHEL** :
```bash
sudo yum install mysql56-devel
```
- Après l'installation, **redémarre Apache/Nginx et PHP-FPM** pour appliquer les changements.
---
#### 2. **Recompiler l'extension mysqli de PHP**
Si tu ne peux pas mettre à jour la bibliothèque cliente, tu peux recompiler l'extension `mysqli` de PHP pour qu'elle utilise la version correcte.
- Installe les outils de développement :
```bash
sudo apt-get install php8.1-dev libmysqlclient-dev
```
- Recompile l'extension :
```bash
sudo pecl uninstall mysqli
sudo pecl install mysqli
```
- Active l'extension dans `php.ini` :
```ini
extension=mysqli.so
```
- Redémarre le serveur web.
---
#### 3. **Ignorer l'avertissement (solution temporaire)**
Si l'erreur n'affecte pas le fonctionnement de Piwigo, tu peux **supprimer temporairement l'affichage des avertissements** en modifiant le `php.ini` :
```ini
error_reporting = E_ALL & ~E_DEPRECATED & ~E_WARNING
```
*(Cela masque les avertissements, mais ne résout pas le problème sous-jacent.)*
---
#### 4. **Vérifier la compatibilité de Piwigo avec MySQL 5.6**
Piwigo 16.3.0 est compatible avec MySQL 5.6, mais il est recommandé de **mettre à jour MySQL vers une version plus récente** (5.7 ou 8.0) si possible, pour des raisons de sécurité et de performance.
---
### **Résumé des étapes recommandées**
1. **Mets à jour la bibliothèque cliente MySQL** pour qu'elle corresponde à la version des en-têtes (5.6.51).
2. Si impossible, **recompile l'extension mysqli** de PHP.
3. Redémarre Apache/Nginx et PHP-FPM après les modifications.
Dernière modification par Gotcha (2026-03-05 17:35:56)
Hors ligne