Que faire si Dotclear ne se connecte plus à la base de données ?

J'ai fait des changements de serveur sur de vieux sites dont quelques uns utilisant le CMS Dotclear.

Ayant créé les mêmes utilisateurs avec les mêmes mots de passe, la plupart des sites ont fonctionné sans aucune modification de ma part mais ce ne fut pas le cas d'un vieux blog sous Dotclear. L'occasion pour moi de jeter un coup d'oeil à la configuration.

Si votre blog Dotclear ne peut joindre sa base de données vous devez vérifier :

- que le serveur de base de données fonctionne (un peu logique, mais on peut l'oublier)

- que la base de données de votre blog n'est pas en vrac. En clair que vous arrivez à y accéder avec le même user/password que le blog depuis une ligne de commande ou un phpMyAdmin et que les tables n'ont pas d'erreur.

- que votre fichier dotclear/inc/config.php contient toujours la bonne configuration. Hôte, nom de la base, utilisateur et mot de passe sont corrects. Eventuellement vérifiez que le fichier n'a pas été modifié depuis votre derniere modification (ça pourrait indiquer une effraction).

- que le driver indiqué dans le fichier de configuration est accessible sur votre hébergement.

Dans mon cas je passais d'un serveur avec PHP 5 à un serveur avec PHP 7.

Historiquement le driver d'accès à la base de données était "mysql" pour se connecter à un serveur MySQL. Logique.

Sauf que l'extension PHP_Mysql et ses fonctions ont été retirées depuis... Il faut donc utiliser les commandes mysqli_*() ou PDO (fortement recommandé).

J'ai donc corrigé le fichier de configuration de Dotclear pour basculer sur "mysqli" au lieu de "mysql" pour la constante DC_DBDRIVER. Et comme Dotclear est bien fait, ça a corrigé mon problème. Le blog est revenu à la vie.

Beaucoup de monde ne jure que par WordPress, mais n'oubliez pas ses alternatives (plus confidentielles, parfois plus robustes de conception, plus légères et souvent moins attaquées en masse).