Cavinn Posted April 3, 2019 Share Posted April 3, 2019 Bonjour, J'ai besoin de votre d'aide à propos d'une erreur 500 qui s'est déclenchée après la mise à jour de plusieurs modules. Le site est en version 1.7.4.2, et le php est en 7.2 Il est toujours accessible pour les visiteurs. C'est le back-office qui est hors d'atteinte. J'ai trouvé les détails des erreurs listées dans les fichiers logs, il y a beaucoup de messages qui reprennent la formule suivante : Apache error AH01071: Got error 'PHP message: PHP Warning: count(): Parameter must be an array or an object that implements Countable in (LIEN DU MODULE EN PHP) on line 111\nPHP message: PHP Warning: count(): Parameter must be (etc)... Tous ces messages d'erreurs indiquent uniquement 1 module, nommé Live chat Pro, qui est probablement incompatible ? Auriez-vous une idée sur la démarche à adopter pour corriger ces problèmes depuis le FTP ? Tout renseignement est plus que bienvenu ! Link to comment Share on other sites More sharing options...
Eolia Posted April 3, 2019 Share Posted April 3, 2019 1.7.4.2 n'est pas compatible full php 7.2 (il faut attendre la 1.7.5.1) Virez ce module du ftp (répertoire /modules) et remettez PHP 7.1 max. Link to comment Share on other sites More sharing options...
Cavinn Posted April 3, 2019 Author Share Posted April 3, 2019 3 hours ago, Eolia said: 1.7.4.2 n'est pas compatible full php 7.2 (il faut attendre la 1.7.5.1) Virez ce module du ftp (répertoire /modules) et remettez PHP 7.1 max. Merci beaucoup pour la réponse rapide Eolia ! J'ai fait comme vous m'avez dit, l'erreur 500 est toujours là mais la grosse liste d'erreurs d'Apache en relation avec le module a disparu. J'ai réussi à mettre le backend en mode debug, et j'ai pu obtenir le message d'erreur précis qui provoque le 500 : Unknown error à la ligne 66 du fichier /var/www/vhosts/(NOM DU SITE)/httpdocs/var/cache/dev/smarty/compile/58/5e/d2/585ed286ff058b0439ec9b244287aea9c966db55_0.file.content.tpl.php [4096] Object of class Link could not be converted to string Une idée sur ce qui peut régler le problème ? Encore merci Link to comment Share on other sites More sharing options...
Eolia Posted April 4, 2019 Share Posted April 4, 2019 ouvrez ce fichier et copiez le contenu ici, on pourra peut-être vous en dire plus (à priori erreur dans un tpl) Link to comment Share on other sites More sharing options...
Cavinn Posted April 4, 2019 Author Share Posted April 4, 2019 1 hour ago, Eolia said: ouvrez ce fichier et copiez le contenu ici, on pourra peut-être vous en dire plus (à priori erreur dans un tpl) Merci Eolia, Voici ce qui est écrit dans le fichier : <?php /* Smarty version 3.1.32, created on 2019-04-04 10:43:57 from '/var/www/vhosts/NOMDUSITE.com/httpdocs/modules/welcome/views/content.tpl' */ /* @var Smarty_Internal_Template $_smarty_tpl */ if ($_smarty_tpl->_decodeProperties($_smarty_tpl, array ( 'version' => '3.1.32', 'unifunc' => 'content_5ca5c3cd26d614_07792100', 'has_nocache_code' => false, 'file_dependency' => array ( '585ed286ff058b0439ec9b244287aea9c966db55' => array ( 0 => '/var/www/vhosts/NOMDUSITE.com/httpdocs/modules/welcome/views/content.tpl', 1 => 1554309031, 2 => 'file', ), ), 'includes' => array ( ), ),false)) { function content_5ca5c3cd26d614_07792100 (Smarty_Internal_Template $_smarty_tpl) { $_smarty_tpl->_checkPlugins(array(0=>array('file'=>'/var/www/vhosts/NOMDUSITE.com/httpdocs/vendor/smarty/smarty/libs/plugins/function.math.php','function'=>'smarty_function_math',),)); ?> <div class="onboarding-advancement" style="display: none"> <div class="advancement-groups"> <?php $_from = $_smarty_tpl->smarty->ext->_foreach->init($_smarty_tpl, $_smarty_tpl->tpl_vars['steps']->value['groups'], 'group', false, 'k'); if ($_from !== null) { foreach ($_from as $_smarty_tpl->tpl_vars['k']->value => $_smarty_tpl->tpl_vars['group']->value) { ?> <div class="group group-<?php echo $_smarty_tpl->tpl_vars['k']->value;?> " style="width: <?php echo smarty_function_math(array('equation'=>"(x / y) * 100",'x'=>count($_smarty_tpl->tpl_vars['group']->value['steps']),'y'=>$_smarty_tpl->tpl_vars['totalSteps']->value),$_smarty_tpl);?> %;"> <div class="advancement" style="width: <?php echo $_smarty_tpl->tpl_vars['percent_real']->value;?> %;"></div> <div class="id"><?php echo $_smarty_tpl->tpl_vars['k']->value+1;?> </div> </div> <?php } } $_smarty_tpl->smarty->ext->_foreach->restore($_smarty_tpl, 1);?> </div> <div class="col-md-8"> <h4 class="group-title"></h4> <div class="step-title step-title-1"></div> <div class="step-title step-title-2"></div> </div> <button class="btn btn-primary onboarding-button-next"><?php echo call_user_func_array( $_smarty_tpl->smarty->registered_plugins[Smarty::PLUGIN_FUNCTION]['l'][0], array( array('s'=>'Continue','d'=>'Modules.Welcome.Admin'),$_smarty_tpl ) );?> </button> <a class="onboarding-button-shut-down"><?php echo call_user_func_array( $_smarty_tpl->smarty->registered_plugins[Smarty::PLUGIN_FUNCTION]['l'][0], array( array('s'=>'Skip this tutorial','d'=>'Modules.Welcome.Admin'),$_smarty_tpl ) );?> </a> </div> <?php echo '<script'; ?> type="text/javascript"> var onBoarding; $(function(){ onBoarding = new OnBoarding(<?php echo $_smarty_tpl->tpl_vars['currentStep']->value;?> , <?php echo $_smarty_tpl->tpl_vars['jsonSteps']->value;?> , <?php echo $_smarty_tpl->tpl_vars['isShutDown']->value;?> , "<?php echo $_smarty_tpl->tpl_vars['link']->value;?> ", baseAdminDir); <?php $_from = $_smarty_tpl->smarty->ext->_foreach->init($_smarty_tpl, $_smarty_tpl->tpl_vars['templates']->value, 'template'); if ($_from !== null) { foreach ($_from as $_smarty_tpl->tpl_vars['template']->value) { ?> onBoarding.addTemplate('<?php echo $_smarty_tpl->tpl_vars['template']->value['name'];?> ', '<?php echo $_smarty_tpl->tpl_vars['template']->value['content'];?> '); <?php } } $_smarty_tpl->smarty->ext->_foreach->restore($_smarty_tpl, 1);?> onBoarding.showCurrentStep(); var body = $("body"); body.delegate(".onboarding-button-next", "click", function(){ if ($(this).is('.with-spinner')) { if (!$(this).is('.animated')) { $(this).addClass('animated'); onBoarding.gotoNextStep(); } } else { onBoarding.gotoNextStep(); } }).delegate(".onboarding-button-shut-down", "click", function(){ onBoarding.setShutDown(true); }).delegate(".onboarding-button-resume", "click", function(){ onBoarding.setShutDown(false); }).delegate(".onboarding-button-goto-current", "click", function(){ onBoarding.gotoLastSavePoint(); }).delegate(".onboarding-button-stop", "click", function(){ onBoarding.stop(); }); }); <?php echo '</script'; ?> > <?php } } Link to comment Share on other sites More sharing options...
Eolia Posted April 4, 2019 Share Posted April 4, 2019 excellent... Virez également le module onboarding de votre ftp (qui ne sert à rien à part envoyer des fusées) et le module gamification s'il y est également. (ça a du vous prendre du temps de remplacer le nom de votre site, surement très incorrect, partout dans ce post ) Link to comment Share on other sites More sharing options...
Cavinn Posted April 4, 2019 Author Share Posted April 4, 2019 Just now, Eolia said: excellent... Virez également le module onboarding de votre ftp (qui ne sert à rien à part envoyer des fusées) et le module gamification s'il y est également. (ça a du vous prendre du temps de remplacer le nom de votre site, surement très incorrect, partout dans ce post ) Haha oui pardon, j'ai voulu laisser le site incognito pour le moment 😃 un petit ctrl + F et ça a été facile Je vais faire les modif, je reviens très rapidement Link to comment Share on other sites More sharing options...
Cavinn Posted April 4, 2019 Author Share Posted April 4, 2019 Bon, apparemment, les fichiers onboarding et gamification ne sont pas dans le répertoire des modules du FTP, bien qu'onboarding apparaisse dans le code... 😶 J'ai bien regardé chaque ligne, utilisé ctrl + F, rien du tout Il est possible que ce type de fichier soit invisible, stocké ailleurs, ou ait un nom très différent ? Link to comment Share on other sites More sharing options...
Janett Posted April 4, 2019 Share Posted April 4, 2019 Sur 1.7, les modules à supprimer sont "gamification", "ps_mbo", "psaddonsconnect", "welcome", ils sont peut être pas tous installés sur votre PrestaShop, ça depend de votre version. Mais ces modules ralentissent inutilement l'administration de PrestaShop. Link to comment Share on other sites More sharing options...
Cavinn Posted April 4, 2019 Author Share Posted April 4, 2019 Merci Janett, j'ai trouvé le fichier Onboarding, il était dans le fichier Welcome. J'ai juste supprimé Onboarding pour le moment... Mais ça a créé une nouvelle fenêtre de problème, et en plus on ne peut plus accéder au back-office, même en mode Debug ! Voici une capture d'écran : Link to comment Share on other sites More sharing options...
Eolia Posted April 4, 2019 Share Posted April 4, 2019 Moi, quand on ne me donne pas la version Prestashop utilisée, je ne devine pas, donc voyez la liste fournie par @Janett Link to comment Share on other sites More sharing options...
Eolia Posted April 4, 2019 Share Posted April 4, 2019 ce n'est pas juste onboarding qu'il faut virer mais tout le répertoire welcome... Link to comment Share on other sites More sharing options...
Cavinn Posted April 4, 2019 Author Share Posted April 4, 2019 Et bien maintenant, ça a l'air de marcher ! J'ai juste supprimé le fichier Welcome pour le moment. Le backoffice est accessible et le message d'erreur a disparu. Même en mode Debug désactivé ! Un grand merci pour votre aide (je vous ferais une bise si je le pouvais 😊) si jamais un problème survient, je ferai un up 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