Erreur PrestaShop : DBALException & 2026 TLS/SSL invalid directory (MariaDB 11+)

Démarré par MassiveHoster, Oct 08, 2025, 01:25 PM

« précédent - suivant »

MassiveHoster

Les versions anciennes de PrestaShop comme la 1.7 peuvent rencontrer des problèmes de compatibilité avec les bases de données MySQL / MariaDB récentes (comme la version 11.4+), entraînant des erreurs comme DBALException lors de la détection de la version du serveur et SQLSTATE[HY000] [2026] pour des problèmes SSL.

Ces erreurs sont souvent liées à une configuration automatique défaillante de Doctrine lors d'une installation manuelle ou via Softaculous. Doctrine est le composant gérant les connexions à la base de données.

Des solutions existent, comme spécifier manuellement la version du serveur et désactiver la vérification SSL, permettant de faire fonctionner PrestaShop 1.7 sur des infrastructures modernes.

Contrairement à des CMS plus flexibles comme WordPress, PrestaShop 1.7 manque de portabilité, mais les versions 8 et 9 résolvent en grande partie ces problèmes grâce à des mises à jour de Doctrine.

En 2025, PrestaShop 1.7 est obsolète (sortie en 2016), tandis que PrestaShop 8 (début 2023) et PerstaShop 9 (juin 2025) supportent mieux les versions actuelles de MySQL / MariaDB.

Le Problème Rencontré

Si vous gérez un site PrestaShop 1.7 sur un hébergement avec une version récente de MariaDB (comme 11.4), vous pourriez voir apparaître l'erreur suivante lors de l'accès au back-office ou pendant des opérations impliquant la base de données :

Whoops, looks like something went wrong.
(4/4) DBALException
An exception occured while establishing a connection to figure out your platform version.
You can circumvent this by setting a 'server_version' configuration value

Cette erreur est souvent accompagnée d'une sous-erreur liée à SSL :
(3/4) DriverException
An exception occurred in driver: SQLSTATE[HY000] [2026] TLS/SSL error: invalid directory

Ces messages indiquent que PrestaShop, via Doctrine, échoue à détecter automatiquement la version de la base de données et rencontre un problème avec la configuration SSL/TLS lors de la connexion.

La Cause du Problème

PrestaShop 1.7 utilise une version plus ancienne de Doctrine (environ 2.x), qui n'est pas optimisée pour les versions récentes de MySQL / MariaDB.

MySQL et MariaDB ont évolué avec des changements subtils (comme des mots-clés réservés ou des comportements SSL par défaut), rendant la détection automatique capricieuse. Sur des hébergements modernes comme ceux de MassiveHoster, où MariaDB 11.4+ est un standard, PrestaShop tente une connexion SSL par défaut, mais échoue si le chemin des certificats n'est pas accessible ou mal configuré (d'où l'erreur "invalid directory").

Les anciennes versions de PrestaShop sont particulièrement sensibles à ces incompatibilités, contrairement à des CMS comme WordPress, qui gèrent mieux la portabilité et détectent automatiquement les connexions sans intervention manuelle.

Cela représente un inconvénient majeur de PrestaShop 1.7 : il n'arrive pas toujours à déterminer comment se connecter correctement à MySQL/MariaDB, alors que la majorité des CMS (Magento, Joomla, Drupal, etc) y parviennent sans accroc.

La Solution Étape par Étape

Pour résoudre cela, modifiez le fichier app/config/doctrine.yml de votre installation PrestaShop 1.7. Ajoutez ou modifiez les lignes suivantes sous la section dbal > connections > default :

# Adaptez à votre version MariaDB, ex. '10.6' pour compatibilité
server_version: '11.4'
# Désactive la vérification SSL (PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT) 
options:
  1007: false 



  • Vérifiez votre version MariaDB :
    via phpMyAdmin > homepage de phpMyAdmin > Version du serveur
  • Sauvegardez avant modification : copiez le fichier original pour pouvoir le restaurer si besoin
  • Effacez manuellement le cache : supprimez les dossiers /var/cache/dev/ et /var/cache/prod/ (sans passer par la corbeille)
  • Testez : rechargez votre site ou /admin/ ; si l'erreur persiste, essayez '10.4' ou une autre version correspondante pour des questions de compatibilité

Cette configuration contourne la détection automatique et désactive la vérification SSL pour les connexions locales, sans compromettre la sécurité.



PrestaShop 1.7, lancée en 2016, commence à montrer son âge en 2025, surtout face à des infrastructures à jour comme MariaDB 11.x. Bien que des solutions existent pour la maintenir opérationnelle, il est recommandé de migrer vers des versions plus récentes pour une meilleure compatibilité et sécurité.

Compatibilité avec MariaDB dans PrestaShop 1.7

PrestaShop 1.7 supporte officiellement MySQL 5.7 minimum, mais MariaDB (fork de MySQL) pose souvent des problèmes au-delà de 10.2. Des utilisateurs rapportent des ralentissements ou des échecs de connexion avec MariaDB 10.6 ou 11.x, dus à des divergences comme le cache de requêtes ou les modes SQL stricts. Par exemple, sur des forums, des migrations vers MariaDB 10.5 ont amélioré les performances, mais nécessitent des ajustements manuels pour éviter les erreurs DBALException.



Inconvénients de PrestaShop Comparé à d'Autres CMS

Contrairement à WordPress, qui est hautement portable et s'adapte automatiquement à diverses versions de MySQL/MariaDB sans intervention, PrestaShop 1.7 requiert souvent des tweaks manuels. WordPress détecte et ajuste les connexions via wpdb, gérant même les SSL par défaut sans erreurs courantes. Cela rend PrestaShop moins "plug-and-play", un point critiqué dans la communauté, où des threads sur les forums soulignent des migrations compliquées post-mises à jour du serveur.

Évolution dans PrestaShop 8 et 9

PrestaShop 8, sortie début 2023 (octobre 2022 pour la version initiale), et PrestaShop 9, lancée en juin 2025, intègrent Doctrine DBAL 3.x+, offrant un meilleur support pour MariaDB 10.2 minimum jusqu'aux versions récentes (11.x testées).

Ces versions résolvent en grande partie les problèmes de détection automatique et de SSL, grâce à une gestion plus robuste des plateformes.

Des tests communautaires confirment une compatibilité accrue, avec moins d'erreurs rapportées. Par exemple, PrestaShop 9 supporte PHP 8.4 et optimise les connexions pour des environnements modernes, rendant les ajustements manuels rares.

Si vous utilisez encore PrestaShop 1.7, une mise à jour vers 8 ou 9 est vivement conseillée pour éviter l'obsolescence et bénéficier de fonctionnalités modernes comme des interfaces utilisateurs et d'admin améliorées, ainsi que des performances et une sécurité renforcée.

Conseils pour les Hébergements Modernes

Sur des plateformes comme MassiveHoster ou EasyHoster, vérifiez toujours la version MariaDB via phpMyAdmin.

Si des erreurs persistent après la solution ci-dessus, n'hésitez pas à prendre contact avec le support technique pour obtenir plus d'assistance.

En 2025, soyez conscient que la version de PrestaShop 1.7 devient sérieusement obsolète et envisagez une update aussi rapidement que possible pour éviter tout inconvénient d'incompatibilité avec les hébergeurs qui mettent à jours leurs solutions.

Des outils comme le module 1-Click Upgrade et des solutions de sauvegardes comme JetBackup5 (disponible chez MassiveHoster) peuvent faciliter le passage à PrestaShop 8 ou 9, préservant vos données, modules et nécessitant principalement un travail au niveau de votre thème/webdesign PrestaShop.
Rappel important : ce forum est public, veuillez donc ne pas partager de mots de passe ou d'autres informations confidentielles.
Guide pour bien débuter - @MassiveHoster sur Twitter (X)