Erreur 500 suite installation



  • Suite à l'installation de la version Phénix sur une sandbox de mon site en 1.6.1.24
    Je me retrouve avec une page 500 sur le FO et le BO
    Je cherche mais ne trouve pas la raison.

    Peut etre une idée du problème ?
    Je n'ai eu aucune erreur lors de la mise à jour.



  • Bonjour @krys,
    Avez-vous accès au fichier error.log de votre serveur ?
    Sinon vous pouvez activer le mode debug en mettant la valeur à 1 dans le fichier /config/debug.php:

    define('_PS_MODE_DEV_', 1);
    


  • Voici l'erreur que j'ai:

    Warning: Declaration of Hook::getHookModuleExecList($hook_name = NULL) should be compatible with HookCore::getHookModuleExecList($hook_name = NULL, $only_active = false) in /////sandbox.tout-le-niva.com/override/classes/Hook.php on line 9

    Fatal error: Uncaught Error: Access to undeclared static property: Hook::$_hook_modules_cache_exec in /////sandbox.tout-le-niva.com/override/classes/Hook.php:169 Stack trace: #0 /////sandbox.tout-le-niva.com/classes/Hook.php(486): Hook::getHookModuleExecList() #1 /////sandbox.tout-le-niva.com/classes/Dispatcher.php(453): HookCore::exec() #2 /////sandbox.tout-le-niva.com/classes/Dispatcher.php(232): DispatcherCore->loadRoutes() #3 /////sandbox.tout-le-niva.com/classes/Dispatcher.php(195): DispatcherCore->__construct() #4 /////sandbox.tout-le-niva.com/index.php(28): DispatcherCore::getInstance() #5 {main} thrown in /////sandbox.tout-le-niva.com/override/classes/Hook.php on line 169



  • J'ai renommé le fichier hook.php et j'ai un petit plus.
    La page admin a uniquement le bandeau du haut de visible et une page blanche.
    Avec les erreurs suivantes

    Fatal error: Uncaught TypeError: count(): Argument #1 ($value) must be of type Countable|array, null given in /////sandbox.tout-le-niva.com/cache/smarty/compile/fb/5d/7e/fb5d7e0bc3cda93822e06fc1bb7acfb4c0d58e12_0.file.header.tpl.php:405 Stack trace: #0 /////sandbox.tout-le-niva.com/tools/smarty/sysplugins/smarty_template_resource_base.php(123): content_6509b1642417a1_36228521() #1 /////sandbox.tout-le-niva.com/tools/smarty/sysplugins/smarty_template_compiled.php(114): Smarty_Template_Resource_Base->getRenderedTemplateCode() #2 /////sandbox.tout-le-niva.com/tools/smarty/sysplugins/smarty_internal_template.php(218): Smarty_Template_Compiled->render() #3 /////sandbox.tout-le-niva.com/tools/smarty/sysplugins/smarty_internal_templatebase.php(238): Smarty_Internal_Template->render() #4 /////sandbox.tout-le-niva.com/tools/smarty/sysplugins/smarty_internal_templatebase.php(122): Smarty_Internal_TemplateBase->_execute() #5 /////sandbox.tout-le-niva.com/classes/controller/AdminController.php(2180): Smarty_Internal_TemplateBase->fetch() #6 /////sandbox.tout-le-niva.com/tools/profiling/Controller.php(719): AdminControllerCore->display() #7 /////sandbox.tout-le-niva.com/tools/profiling/Controller.php(245): Controller->displayProfiling() #8 /////sandbox.tout-le-niva.com/classes/Dispatcher.php(405): Controller->run() #9 /////sandbox.tout-le-niva.com/admin111/index.php(79): DispatcherCore->dispatch() #10 {main} thrown in /////sandbox.tout-le-niva.com/cache/smarty/compile/fb/5d/7e/fb5d7e0bc3cda93822e06fc1bb7acfb4c0d58e12_0.file.header.tpl.php on line 405



  • @krys a dit dans Erreur 500 suite installation :

    /cache/smarty/compile/fb/5d/7e/fb5d7e0bc3cda93822e06fc1bb7acfb4c0d58e12_0.file.header.tpl.php:

    Il y a quoi dans ce fichier à la ligne 405 ?

    Il faudrait savoir ce que fait votre override de Hook.php aussi.
    Vos erreur sont là car vous êtes passé sur une version PHP supérieure à 7. Si vos overrides n'ont pas été écrites pour cette version ça ne peut pas fonctionner.



  • C'est le cas, j'ai essayé de mettre en version 8 le PHP et ca me met cette erreur
    Par contre si je repasse en version 7.1.33, je n'ai plus l'erreur mais je n'ai que le bandeau du haut de la page admin
    Pas de menu et page vierge.

    Je pense que ma version de presta n'est pas compatible avec la votre.
    C'était ma roue de secours pour éviter de passer sur les nouvelles versions



  • @eolia a dit dans Erreur 500 suite installation :

    /cache/smarty/compile/fb/5d/7e/fb5d7e0bc3cda93822e06fc1bb7acfb4c0d58e12_0.file.header.tpl.php:

    Il y a quoi dans ce fichier à la ligne 405 ?

    Pouvez-vous me répondre svp ?



  • Voici

          <?php if (count($_smarty_tpl->tpl_vars['quick_access']->value) >= 0) {?>
    

    Merci pour l'aide.



  • Ok.
    Ce n'est pas normal que ce ne soit pas un tableau.
    Pour votre cas voici le correctif à effectuer:
    Dans le fichier /classes/AdminController.php, vers la ligne 2211 vous avez la fonction initHeader
    Dans celle-ci, remplacez le block concernant // Quick access par celui-ci:

            // Quick access
            if((int)$this->context->employee->id) {
                $quick_access = QuickAccess::getQuickAccesses($this->context->language->id);
                if(is_array($quick_access)) {
                    foreach($quick_access as $index => $quick) {
                        if($quick['link'] == '../' && Shop::getContext() == Shop::CONTEXT_SHOP) {
                            $url = $this->context->shop->getBaseURL();
                            if(!$url) {
                                unset($quick_access[$index]);
                                continue;
                            }
                            $quick_access[$index]['link'] = $url;
                        }
                        else {
                            preg_match('/controller=(.+)(&.+)?$/', $quick['link'], $admin_tab);
                            if(isset($admin_tab[1])) {
                                if(strpos($admin_tab[1], '&')) {
                                    $admin_tab[1] = substr($admin_tab[1], 0, strpos($admin_tab[1], '&'));
                                }
    
                                $token = Tools::getAdminToken($admin_tab[1]
                                    .(int)Tab::getIdFromClassName($admin_tab[1])
                                    .(int)$this->context->employee->id);
                                $quick_access[$index]['target'] = $admin_tab[1];
                                $quick_access[$index]['link'] .= '&token='.$token;
                            }
                        }
                    }
                }
                else {
                    $quick_access = array();
                }
            }
    


  • Le fichier se trouve bien dans le repertoire, Classes/Controller/ ?
    Je viens de faire la modification et ca ne change rien
    Toujours cette page admin avec le bandeau du haut et page blanche pour le reste.
    Je ne peux meme pas désactiver le mode maintenance



  • Bah ce n'est pas possible, dans tous les cas on envoie un tableau donc le tpl ne peut pas dire que ce n'est pas un tableau.
    Vous avez vidé le cache Prestashop ?



  • Oui le cache est vidé et toujours la meme page.

    279648db-96b9-4c69-ac6f-ece10d2e27f6-image.png



  • J'ai fait une autre installation de votre Prestashop, sur une autre instance.
    Celle ci est vierge et tout c'est bien passé.
    Je pense que ma version 1.6.1.24 est trop endommagé, cela fait des mois que le site ralenti et que je rencontre des petits bugs.
    Je vais trouver la solution pour envoyer toutes mes données sur la version vierge et repartir avec un site plus puissant.
    Faut que juste que je trouve la solution pour tout récupérer et tout envoyer.

    Merci encore pour votre aide.


Se connecter pour répondre