THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


Bonjour,

J'ai un thélia 1.5.4.3. Suite à la migration de sa base Mysql 5 vers Mysql 8, impossible de se connecter à l'admin. Je suppose qu'il y a un problème sur les mots de passe dans la base. Avec Phpmyadmin, j'ai essayé de le changer en sélectionnant "password" pour le champ motdepasse de la table administrateur mais j'obtiens une erreur 1064. Par exemple

#1064 - Erreur de syntaxe près de '('toto') WHERE `administrateur`.`id` = 2' à la ligne 1

Que faire sachant qu'OVH ne propose plus Mysql 5.7 sur cet hébergement mutualisé ? Est-ce possible d'utiliser Mysql 8 avec cette version de thélia ?

Cordialement,

AM

Offline


Avec MySQL8, la fonction PASSWORD() utilisée par Thelia n'existe plus.

Solution :

Dans ta base Mysql, déclare un fonction PASSWORD2()

delimiter $$
CREATE FUNCTION PASSWORD2 (pass_in varchar(50)) RETURNS varchar(50)
BEGIN
  declare n_pass varchar(50);
  set n_pass = CONCAT('*', UPPER(SHA1(UNHEX(SHA1(pass_in))))); 
  return n_pass;
END$$

Ensuite, édite les fichiers suivants de ton Thelia, et change PASSWORD en PASSWORD2 :

- classes/Administrateur.class.php (2 occurrences à changer)
- classes/Client.class.php (2 occurrences à changer)

Ça devrait être OK smile


OpenStudio Toulouse

Offline


Merci beaucoup Roadster pour faire vivre ce forum et votre disponibilité après toutes ces années.
J'ai fait un vieux site plus de 10 ans pour une asso sous thelia 1.
L'asso ne veut ni investir ni changer après toutes ces années.
Votre solution fonctionne parfaitement.

Je tenais donc à vous remercier,
l'open source / logiciel libre est très ingrat où les gens viennent, posent des questions et ne donne pas de réponses ni de remerciements.
Encore merci à vous.

Last edited by nico_reservoir (Yesterday 11:05:10)