french50 Posted January 16 Share Posted January 16 Bonjour, Cette semaine, notre hébergeur va migrer notre presta 1.6.1.24 vers un nouveau serveur qui ne disposera plus de MySql 5.7 mais bien d’une version 8.X J’ai entamé des tests en local ainsi qu’effectué des recherches via ce forum notamment, mais sans trouver un récapitulatif des modifications/vérifications à faire pour s’assurer que tout tourne bien. J’en appelle donc à votre expérience. Voici ce que j’ai trouvé pour l’instant. Mode d’authentification de Mysql J’ai lu que MySql8 passait pour l’authentification à la DB par le plugin caching_sha2_password au lieu du plugin employé précédemment, mysql_native_password J’ai lu qu’il fallait modifier le user utilisé pour la connexion à la DB de sorte à forcer l’usage de la méthode d’authentification classique : alter user ‘nomduuser’@localhost’ identified with mysql_native_password by 'motdepassedeouf'; Mais en dehors de ça, est-ce qu’il y a une quelconque modification à faire au sein du presta ? MySql Engine Dans un message du forum quelqu’un parle de modifier, dans setting.inc.php :define('_MYSQL_ENGINE_', 'InnoDB'); par define('_MYSQL_ENGINE_', 'My Sql 8'); Cela me parait assez étrange, d’autant que même changer cette constante par n’importe quelle valeur passe (peut-être parce qu’il y a un fallback par défaut quelque part). Du coup est-ce que ça a le moindre sens ? Dysfonctionnement dans les déclinaisons Le plus gros problème de fonctionnement semble lié aux déclinaisons, dont les quantités indiquées diffèrent selon que l’on est en front et en back office. C’est abordé régulièrement, un utilisateur du forum parle d’une modification à faire dans la classe product, mais sans préciser la solution. Est-ce que cela pourrait être ceci : https://github.com/PrestaShop/PrestaShop/issues/13833 ? My.cnf Enfin, j’ai cru comprendre que certains problèmes pouvaient être liés à la configuration de MySql, et qu’il fallait peut-être éditer dans le my.cnf la variable sql-mode. Je pense qu’actuellement j’en ai déjà dans la 5.7 une version modifiée pour accepter les dates au format 0000 car c’est employé dans les anciennes versions de presta, est-ce que la définition suivante pourrait toujours être valide ? sql-mode="NO_ENGINE_SUBSTITUTION,ERROR_FOR_DIVISION_BY_ZERO,ALLOW_INVALID_DATES" D’avance merci ! Link to comment Share on other sites More sharing options...
Eolia Posted January 16 Share Posted January 16 Vous devriez tester PhenixSuite qui vous permet de rester en version 1.6 mais avec la prise en charge des dernières mises à jour (PHP8.2 si vos modules le supportent, MySQL8, etc...) https://eoliashop.com/phenixsuite/prestashop-new Link to comment Share on other sites More sharing options...
french50 Posted January 18 Author Share Posted January 18 Le 16/01/2024 à 4:31 PM, Eolia a dit : Vous devriez tester PhenixSuite qui vous permet de rester en version 1.6 mais avec la prise en charge des dernières mises à jour (PHP8.2 si vos modules le supportent, MySQL8, etc...) https://eoliashop.com/phenixsuite/prestashop-new Je vais faire des tests aujourd'hui en ce sens, le travail réalisé est vraiment fantastique. C'est H.S. par rapport au sujet de base de cette discussion, mais par contre de + en + de modules vitaux dont nous sommes dépendants abandonnent malheureusement cette branche et je pense ne plus pouvoir retarder longtemps une migration à la 1.7+. Link to comment Share on other sites More sharing options...
Eolia Posted January 18 Share Posted January 18 Vous avez une liste de ces modules "vitaux" qui vous manquent ? Si vous décidez de migrer vers les versions 1.8 ou 9 soyez bien conscient que vous allez devenir de plus en plus prisonniers du système. Depuis que Prestashop a été racheté par une entreprise de logistique italienne il y a 1 an 1/2 le projet a complètement changé et ils font tout pour pousser les utilisateurs à passer à la solution payante (aka Shopify en % du chiffre d'affaire) et en concentrant les modules tout-en-1 (comme ps_checkout) liés à ps_account qui transmettent TOUTES les données de votre shop à Prestashop (clients, ventes, catalogue, etc...). Il y a encore 150 000 boutiques en version 1.6 et il est hors de question de les laisser tomber par choix stratégique. Link to comment Share on other sites More sharing options...
french50 Posted January 18 Author Share Posted January 18 Ne serait-ce qu'en terme de module de paiement, Ingenico (y compris le module de chez SellXed) & Mollie ne sont plus maintenus (ce dernier ne fonctionnant tout simplement plus). Même tarif visiblement pour les modules de BPost & DPD Benelux, même si là je sors les pincettes de rigueur car c'était peut-être un question d'interlocuteur. Dans tous les cas, je trouve ça très regrettable car il me semble que le créneau qu'occupait prestashop - une espère de solution intermédiaire en terme de complexité entre un shopify-like et magento - semble destiné à devenir vacant. Link to comment Share on other sites More sharing options...
Eolia Posted January 18 Share Posted January 18 Mollie est toujours dispo en version 4.54 (pas très compatible PHP 8 mais pas sûr que la version 1.7 le soit). Il y a 4 heures, french50 a dit : Dans tous les cas, je trouve ça très regrettable car il me semble que le créneau qu'occupait prestashop - une espère de solution intermédiaire en terme de complexité entre un shopify-like et magento - semble destiné à devenir vacant. D'où l'intérêt de PhenixSuite justement pour ne pas laisser cet espace vacant Link to comment Share on other sites More sharing options...
404NotFound_ Posted March 22 Share Posted March 22 (edited) Bonjour, vous avez eu des problème particulier ? Nous c'est pareil notre hébergeur va forcer la migration de nos sites Prestashop 1.7.8.7 de la version MySQL 5.7 vers 8.X à date du 17 Avril. J'ai déjà effectuer des test et pour le moment j'ai l'impression que sur le papier, aucun bug important, voir zéro bug visible, je voulais savoir si vous avez rencontré des soucis, si oui lesquels ? Edited March 22 by dydy59 (see edit history) Link to comment Share on other sites More sharing options...
DevilYann Posted April 24 Share Posted April 24 Mon client rencontre un problème depuis la migration vers MySQL 8. Sur la fiche produit, dans l'onglet Quantités, les id des déclinaisons sont mélangés, ce qui fait que lorsque par exemple on met 1 en quantité pour un canapé couleur gris anthracite, c'est le canapé couleur gris clair qui est affecté. Le problème se situe au niveau du nom des champs des quantités. Exemple qty_5532 alors que ça devrait être qty_5531. Link to comment Share on other sites More sharing options...
DevilYann Posted April 24 Share Posted April 24 Problème résolu ! Il faut ajouter dans la fonction getAttributesResume() de la classe Product.php un tri : ORDER BY pa.`id_product_attribute` ASC Voici le code : $combinations = Db::getInstance()->executeS('SELECT pa.*, product_attribute_shop.* FROM `'._DB_PREFIX_.'product_attribute` pa '.Shop::addSqlAssociation('product_attribute', 'pa').' WHERE pa.`id_product` = '.(int)$this->id.' GROUP BY pa.`id_product_attribute` ORDER BY pa.`id_product_attribute` ASC'); Link to comment Share on other sites More sharing options...
Eolia Posted April 24 Share Posted April 24 Pour info MySQL8 ignore le tri par primary key alors que c'était implicite dans les versions inférieures. Link to comment Share on other sites More sharing options...
Myfragrance Posted December 15 Share Posted December 15 (edited) Bonjour, j'ai exactement le même problème : dans l'onglet Quantités, les id des déclinaisons sont mélangés , je peut même pas modifier la classe Product.php dans le ftp (une page blanche) que faire ? merci d'avance Edited Thursday at 08:40 PM by Myfragrance résolu (see edit history) Link to comment Share on other sites More sharing options...
Eolia Posted December 16 Share Posted December 16 Et pour éditer product.php utilisez le bon éditeur (Notepad++ sous Windows par exemple) Link to comment Share on other sites More sharing options...
Myfragrance Posted December 16 Share Posted December 16 Bonjour, Oui j'ouvre mon ftp ovh sur mon pc windows je peux éditer toute les classes sauf product.php étrange ? Merci Link to comment Share on other sites More sharing options...
Eolia Posted December 16 Share Posted December 16 il n'y aurait pas un pb de droits ? (doit être en 644) Link to comment Share on other sites More sharing options...
Myfragrance Posted December 16 Share Posted December 16 Je sais pas, par contre Productdownload.php je peux l'ouvrir Link to comment Share on other sites More sharing options...
Myfragrance Posted December 16 Share Posted December 16 c'est bon j'ai trouvé je peux éditer mais je peux pas l'ouvrir, étrange mais bon le principal c'est que je puisse modifier cette page code. mais j'ai un problème quand je rajoute les 2 ligne de code un message d'erreur apparait sur mon site merci pour votre aide Link to comment Share on other sites More sharing options...
Eolia Posted December 16 Share Posted December 16 Bah vous avez du mal copier. Si vous ajoutez la ligne il faut enlever '); à la ligne d'avant. Regardez bien le code posté. Link to comment Share on other sites More sharing options...
Myfragrance Posted December 16 Share Posted December 16 oui effectivement désolé, j'ai réussi a rajouter les 2 lignes de code, sur mon site aucune erreur par contre dans le back office quand je veux accédé a mes quantité produit ca reste bloqué en chargement Link to comment Share on other sites More sharing options...
Myfragrance Posted December 16 Share Posted December 16 ligne de code modifier en piéce joint merci Link to comment Share on other sites More sharing options...
Myfragrance Posted December 16 Share Posted December 16 Bonjour, si quelqu'un a la solution Merci d 'avance Link to comment Share on other sites More sharing options...
Eolia Posted December 16 Share Posted December 16 Ouvrez votre console (F12) et regardez dans l'onglet XHR que dit la réponse de l'onglet quantités Link to comment Share on other sites More sharing options...
Myfragrance Posted December 16 Share Posted December 16 J'ai fait une restauration du coup, car je pouvez plus rien modifier dans mes produit ( quantité, texte, image ....)ça mouliné, du coup je c'est pas si je peux tout de même faire votre manipulation afin de résoudre mon problème Cordialement Merci beaucoup pour votre aide Link to comment Share on other sites More sharing options...
Eolia Posted December 16 Share Posted December 16 (edited) Ci-joint le fichier corrigé.Product.zip Edited December 16 by Eolia (see edit history) Link to comment Share on other sites More sharing options...
Myfragrance Posted December 16 Share Posted December 16 du coup je suprime mon product.php dans ftp est j'aoute cz fichier ? Link to comment Share on other sites More sharing options...
Myfragrance Posted December 16 Share Posted December 16 j'ai oublié de préciser j'ai un thème warehouse c'est peut être ca qui pose probléme merci beaucoup Link to comment Share on other sites More sharing options...
Eolia Posted December 16 Share Posted December 16 Renommez l'original en Produc.php2 au cas où. Le thème n'a rien à voir, surtout en BO. Link to comment Share on other sites More sharing options...
Myfragrance Posted December 16 Share Posted December 16 d'accord, Je vais voir ça plus tard. Je reviens vers vous. Merci beaucoup pour votre aide Link to comment Share on other sites More sharing options...
Myfragrance Posted December 16 Share Posted December 16 Si j'ai bien compris l'erreur viens de la ligne : ORDER BY pac.id_product_attribute remplacé par ORDER BY pa.`id_product_attribute`? cordialement Link to comment Share on other sites More sharing options...
Eolia Posted December 16 Share Posted December 16 Ah non, là c'est moi qui me suis trompé, c'est bien pac. dans la deuxième. Product.zip Link to comment Share on other sites More sharing options...
Myfragrance Posted December 16 Share Posted December 16 Ha ok, du coup j'ai comparé avec le mien (product.php) du FTP, je ne vois pas de différence à ce niveau-là. Je pense que vous avez dû modifier ailleurs dans la page de code, non ? Cordialement Link to comment Share on other sites More sharing options...
Eolia Posted December 16 Share Posted December 16 Non, je n'ai rien modifié d'autre. Link to comment Share on other sites More sharing options...
Myfragrance Posted December 16 Share Posted December 16 D'accord, je vais voir si ça change quelque chose (sans problème), car il me semble que j'ai modifié exactement les mêmes lignes. Je ferai ça plus tard, je vous tiens au courant En vous remerciant beaucoup pour votre aide Link to comment Share on other sites More sharing options...
Myfragrance Posted December 17 Share Posted December 17 Bonjour, je viens de vérifier sur mon serveur OVH et à ma bonne surprise, mon MySQL est en version 7 " Version PHP globale 7.0 " Donc je ne pense pas que le problème vient de là ? Merci Link to comment Share on other sites More sharing options...
Eolia Posted December 17 Share Posted December 17 Vous mélangez version PHP et version SQL^^ Link to comment Share on other sites More sharing options...
Myfragrance Posted December 17 Share Posted December 17 D'accord ^^ , désolé du coup j'ai injecté le fichier Product.php dans le FTP (classes) je ne vois aucun changement, est-ce que je dois supprimer l'ancien fichier Product.php du FTP merci pour votre aide Link to comment Share on other sites More sharing options...
Eolia Posted December 17 Share Posted December 17 L'onglet ne charge toujours pas ? Link to comment Share on other sites More sharing options...
Myfragrance Posted December 17 Share Posted December 17 L'onglet charge, mais toujours le même problème : dans l'onglet Quantités, les ID des déclinaisons sont mélangés. cordialement Link to comment Share on other sites More sharing options...
Eolia Posted December 17 Share Posted December 17 (edited) Ok donc si il charge vous aviez dû faire une coquille dans votre fichier. Pour les déclis mélangées, les produits qui ont été édités/enregistrés avant la mise à jour de Product.php doivent être corrigés (Ré-assignez la décli par défaut dans l'onglet "Déclinaisons") Edited December 17 by Eolia (see edit history) Link to comment Share on other sites More sharing options...
Myfragrance Posted December 17 Share Posted December 17 j'ai exactement le même problème, j'ai même carrément supprimé l'ensemble des déclinaisons. J'ai ensuite régénéré des déclinaisons mais rien n'y fait Link to comment Share on other sites More sharing options...
Eolia Posted December 17 Share Posted December 17 Vous êtes bien certain que le fichier Product.php sur le ftp est celui que je vous ai envoyé ? Vous avez bien renommé l'original avant ? Link to comment Share on other sites More sharing options...
Myfragrance Posted December 17 Share Posted December 17 non je n'avais pas renommé l'original avant, là je viens de le faire et malheureusement j'ai un message d'erreur comme hier Link to comment Share on other sites More sharing options...
Myfragrance Posted December 17 Share Posted December 17 même en supprimant votre fichier product.php (le nouveau), le message d'erreur apparaît. Je suis obligé de faire une restauration. cordialement Link to comment Share on other sites More sharing options...
Eolia Posted December 17 Share Posted December 17 Non. Le fichier s'appelle Product.php et non pas product.php Il faut supprimer le fichier /cache/class_index.php et le cache des classes sera de nouveau ok. Link to comment Share on other sites More sharing options...
Myfragrance Posted December 17 Share Posted December 17 Oui au temps pour moi Product.php , du coup j'avais déjà restauré, je suppose que je dois refaire la démarche (bien renommé l'original avant d'injecter Product.php) . Je testerai demain en supprimant au passage /cache/class-index.php je vous tiens informé. Merci pour votre aide Link to comment Share on other sites More sharing options...
Eolia Posted December 17 Share Posted December 17 Oui c'est ça. - renommer l'ancien fichier Product.php en Product.php2 - importer la version corrigée de Product.php - supprimer le fichier /cache/class_index.php Link to comment Share on other sites More sharing options...
Myfragrance Posted Thursday at 08:33 PM Share Posted Thursday at 08:33 PM Bonsoir, J'espère que vous allez bien. du coup j'ai : - renommer l'ancien fichier Product.php en Product.php2 - importer la version corrigée de Product.php Suite à cela je n'ai pas eu besoin de supprimer le fichier /cache/class_index.php. j'ai dû tout de même remettre les quantités de mes produits, dorénavant mes quantités ne se mélangent plus. je tiens à vous remercier fortement Eolia pour le temps et l'aide que vous m'avez donnée Cordialement 1 Link to comment Share on other sites More sharing options...
Eolia Posted Thursday at 08:35 PM Share Posted Thursday at 08:35 PM Pensez à éditer le titre de votre 1er post et de rajouter [Résolu] devant Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now