Jump to content

Clic impossible - Erreur - mais la page s'affiche


Recommended Posts

Bonjour, suite à la mise à jour de modules, les pages s'affichent, mais impossible d'interagir.

En mode debug, l'erreur suivante apparait :

Fatal error: Uncaught Unknown column 'h.live_edit' in 'field list'<br /><br /><pre>SELECT h.`name` as hook, m.`id_module`, h.`id_hook`, m.`name` as module, h.`live_edit` FROM `aaa_shop1module` m INNER JOIN aaa_shop1module_shop module_shop ON (module_shop.id_module = m.id_module AND module_shop.id_shop = 1 AND module_shop.enable_device & 1) INNER JOIN `aaa_shop1module_shop` `ms` ON ms.`id_module` = m.`id_module` INNER JOIN `aaa_shop1hook_module` `hm` ON hm.`id_module` = m.`id_module` INNER JOIN `aaa_shop1hook` `h` ON hm.`id_hook` = h.`id_hook` LEFT JOIN `aaa_shop1module_group` `mg` ON mg.`id_module` = m.`id_module` WHERE (h.name != "displayPayment") AND (hm.id_shop = 1) AND (mg.id_shop = 1 AND mg.`id_group` IN (1)) GROUP BY hm.id_hook, hm.id_module ORDER BY hm.`position` </pre> thrown in /var/www/site/classes/db/Db.php on line 769

 

Quelqu'un aurait-il une solution.

Merci par avance.

Jean J.

Link to comment
Share on other sites

Hello

Peu de précisions techniques sur ta configuration (PS, PHP, modules en question...)... 😕

Cela dit, si c'est suite à une mise à jour, une petite vidange du dossier cache peut peut-être aider.

Tu ne dis pas non plus quel(s) module(s) a/ont été mis à jour, s'il n'est/ne sont pas indispensable(s), tu peux tenter de le(s) désactiver pour voir si ça vient bien de là.

Antoine

Link to comment
Share on other sites

L'erreur indique que la colonne "live_edit" de la table "aaa_shop1hook" (module shop1module je suppose) n'existe pas.

Soit c'est le cache qui récupère cette valeur (module avant mise à jour) et il faut le vider (si APC est utilisé, c'est commun). 

Soit c'est la colonne qui n'existe plus ou a changé de nom

Un petit tour dans la table via PhpMyAdmin pourra déjà répondre à ça, et un vidage du cache à faire pour s'assurer que cela ne vient pas de là :) 

Link to comment
Share on other sites

Désolé du manque de précisions :

Presta 1.7.6.4
php 5.6

J'ai vidé le cache à plusieurs reprises.

Il n'y a pas de colonne "live_edit"

Le message d'erreur semble faire mention d'un module ou un emplacement"displayPayment", qui n'existe pas ?

Link to comment
Share on other sites

14 minutes ago, Jean-Joseph said:

Désolé du manque de précisions :

Presta 1.7.6.4
php 5.6

J'ai vidé le cache à plusieurs reprises.

Il n'y a pas de colonne "live_edit"

Le message d'erreur semble faire mention d'un module ou un emplacement"displayPayment", qui n'existe pas ?

Il serait nécessaire de vérifier dans les positions, si un module est greffé sur le hook displayPayment.

Une évolution de PHP serait la bienvenue, PHP 7 est plus rapide et sécurisé que 5.6, mais ce n'est pas la cause du problème

 

Link to comment
Share on other sites

6 minutes ago, Jean-Joseph said:

Le hook displayPayment n'existe pas !

Je n'ai mis à jour que des modules (mais je ne sais plus lesquels, il y en avait une vingtaine).

Je n'ai pas relu le code, mais de toute façon, la requête cherche une différence avec ce hook, donc il n'est pas concerné par le problème.

Un des modules pose problème, il faut reprendre chaque module ayant été mis à jour, ou faire une restauration antérieure à la modification.

Pour désactiver les modules externes temporairement, via le FTP, il faut modifier le nom du dossier en y ajoutant par exemple un sous_tiret, jusqu'à trouver le fautif.

 

Link to comment
Share on other sites

Il y a 7 heures, Jean-Joseph a dit :

Bonjour, suite à la mise à jour de modules, les pages s'affichent, mais impossible d'interagir.

les pages du BO ou du FO ?

Si tu as accès au BO, tu peux aussi aller dans Performances et cocher l'option "Désactiver les modules non développés par PrestaShop".

Sinon, la solution d' @AfterGlow93 peut être essayée. Je ne la connaissais pas. Juste pour savoir, changer le nom du dossier suffit-il ? Je veux dire, certains modules ne laissent t-ils pas alors de codes dans les pages PS qui causeraient alors des erreurs supplémentaires ne trouvant pas le dossier du bon nom ? (c'est juste une question car je ne savais pas que ça suffisait de changer le nom).

Et sinon, oui, revenir sur un état antérieur à cette grosse mise à jour pour ensuite les appliquer plutôt petit à petit est une bonne stratégie. Encore faudrait-il avoir fait une sauvegarde avant... :) J'imagine que ce n'est pas le cas car tu aurais déjà appliqué cette soluce peut-être.

Une fois le module trouvé, mettre à jour en 1.7.6.9 pourrait se tenter aussi (avec une sauvegarde avant! ;) )... Et mettre PHP à jour me semble aussi une bonne idée, en terme de sécurité.

Les versions 1.7.7.x nécessitent PHP 7.1 minimum https://devdocs.prestashop.com/1.7/basics/installation/system-requirements/#php-compatibility-chart

Tu n'avais mis que les modules à jour ? Pas le thème ni PS ?

Antoine

Link to comment
Share on other sites

La requête semble, d'après ce que je comprend de celle-ci, être liée à un configurateur de thème.

C'est assez difficile d'avoir une vision objective sans creuser directement sur le site, ce bout de code provenant du debug n'étant pas explicite pour déterminer la cause.

Dans tous les cas, c'est associé à la Mise à Jour, si un rollback vers une sauvegarde préalable est possible, autant le faire.

Autrement, il faudra jeter un coup d'oeil en détail pour trouver l'origine du problème.

Un petit lien vers le site ne serait pas de refus, ce pourrait déjà aider pour reproduire le problème en debug navigateur

Link to comment
Share on other sites

www.boutiquedeglise.com

En debug navigateur, il y a trois erreurs :

Failed to load resource: the server responded with a status of 404 (Not Found)
blocksearch.js:1

Failed to load resource: the server responded with a status of 404 (Not Found)
ajax-cart.js:126

Uncaught ReferenceError: baseUri is not defined
    at Object.refresh (ajax-cart.js:126)
    at HTMLDocument.<anonymous> (ajax-cart.js:700)
    at u (core.js:39)
    at Object.fireWith [as resolveWith] (core.js:39)
    at Function.ready (core.js:39)
    at HTMLDocument.H (core.js:39)

 

Edited by Jean-Joseph (see edit history)
Link to comment
Share on other sites

À tenter, mais je pense que la quelqu'un doit intervenir directement sur le serveur, sachant que ce ne sont pas des modules natifs prestashop, ca peut venir de tout et n'importe quoi en même temps. 

C'est bien trop compliqué à résoudre à distance. 

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...