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

Heureusement, il existe des solutions simples à implémenter depuis votre panel d'hébergement MassiveHoster, sans avoir besoin d'éditer de nombreux fichiers du code source du cœur de PrestaShop.

Ces messages d'erreur "TLS/SSL error: invalid directory" peuvent survenir car la librairie client MySQL du système d'exploitation (libmariadb.so) impose désormais (depuis MariaDB 11.4) par défaut, des vérifications SSL plus strictes.
Lorsqu'un compte DirectAdmin est isolé dans CageFS par CloudLinux, cette librairie système ne trouve pas les dossiers de certificats racine de l'OS (/etc/pki/tls..., /etc/pki/ssl...) et génère une erreur avant même d'atteindre le serveur de base de données MariaDB 11.4.

Il est donc nécessaire pour régler cela de modifier les modules de connexion MySQL utilisés par PHP PDO via le PHP Selector de votre compte d'hébergement MassiveHoster.

Ces messages d'erreur peuvent aussi indiquer que PrestaShop, via Doctrine (l'interface de connexion à MySQL utilisée par Symfony et PrestaShop), é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.

Il serait donc nécessaire pour régler cela d'appliquer quelques correctifs à la configuration de Doctrine.

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 et isolés comme ceux de MassiveHoster, où MariaDB 11.4+ est un standard, PrestaShop tente une connexion SSL par défaut via d'anciennes méthodes mal optimisées pour le mutualisé et échoue, 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.

Les Solutions Étape par Étape

Solution N°1 : activer "nd_pdo_mysql" dans les modules du PHP Selector

Puisque l'erreur vient du pilote MySQL utilisé devenu trop strict pour votre ancienne version de PrestaShop, la solution la plus propre et la plus performante consiste à dire à PHP d'utiliser ses propres pilotes intégrés (les "Native Drivers" ou ND). Ces pilotes natifs (mysqlnd) gèrent eux-mêmes la connexion au réseau de manière bien plus souple et ne déclencheront pas l'erreur de dossier SSL sous CloudLinux et CageFS (TLS/SSL error: invalid directory).

Comment faire via votre panel d'hébergement MassiveHoster :

  • Rendez-vous dans le menu Sélectionner une version de PHP (PHP Selector).
  • Restez sur l'onglet Extensions.
  • Dans la liste, décochez les extensions classiques : pdo_mysql et mysqli.
  • À la place, cochez leurs équivalents Natifs (ND) : nd_pdo_mysql et nd_mysqli. (Vérifiez également que mysqlnd est bien coché).





Une fois ces extensions PHP sélectionnées, et après avoir absolument vidé le cache de PrestaShop (suppression des répertoires /var/cache/prod/ et /var/cache/dev/), votre page d'administration devrait à nouveau s'afficher correctement.

Si ce n'est pas le cas, il faudra peut-être vous orienter vers un autre workaround, celui de la modification du fichier doctrine.yml.

Solution 2 (workaround alternatif) : l'ajustement du fichier Doctrine.yml

Attention : si vous avez appliqué la Solution 1 avec succès et que l'erreur a disparu, vous n'avez pas besoin d'effectuer ces modifications.

Pour résoudre les erreurs de DBALException et TLS/SSL invalid directory, 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.4', '10.5', '10.6', '10.11', '11.4',  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 de MariaDB :
    via phpMyAdmin > homepage de phpMyAdmin > Version du serveur.
  • Sauvegardez votre fichier doctrine.yml original avant modification : par précaution, copiez le fichier original pour pouvoir le restaurer plus tard si nécessaire.
  • Modifiez votre fichier doctrine.yml comme indiqué ci-dessus.
  • Effacez manuellement le cache : supprimez les dossiers /var/cache/dev/ et /var/cache/prod/ (sans passer par la corbeille)
  • Testez : rechargez votre tableau de bord PrestaShop ou /admin-XXX/ ; si l'erreur persiste, essayez '10.4' ou une autre version correspondante citée ci-dessus, pour des questions de compatibilité avec votre ancienne version de PrestaShop capricieuse avec les versions de MySQL récentes.

Cette configuration devrait contourner la détection automatique et désactiver 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)