Erreurs multiples après migration vers Joomla 4

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [Problème] Erreurs multiples après migration vers Joomla 4

    Bonjour tout le monde,

    Je tente de migrer mon site de la version 3.10 à la version 4.
    Pour mes tests, j'ai viré toutes mes extensions au préalable, mon site étant un simple blog, je n'avais pas grand chose.

    Tout semble être nickel :
    Cliquez sur l'image pour l'afficher en taille normale

Nom : 1.png 
Affichages : 798 
Taille : 84,6 Ko 
ID : 2030082

    Mais après la maj j'ai une première alerte qui me déplait :
    Cliquez sur l'image pour l'afficher en taille normale

Nom : 2.png 
Affichages : 278 
Taille : 113,5 Ko 
ID : 2030083

    Puis quand j'essaie d'accéder au panneau de controle :
    Cliquez sur l'image pour l'afficher en taille normale

Nom : 3.png 
Affichages : 255 
Taille : 66,7 Ko 
ID : 2030084

    Ou encore à la liste des articles :
    Cliquez sur l'image pour l'afficher en taille normale

Nom : 4.png 
Affichages : 269 
Taille : 70,1 Ko 
ID : 2030085

    Et j'ai ce genre d'erreur sur de nombreux menus. J'arrive par contre à voir la liste de mes catégories

    Le front end me donne quant à lui une errer 500

    Le site tourne en local sur XAMPP

    Des idées ? Merci à vous

  • #2
    Bonjour,

    Commence par activer le débogage et mettre le rapport d'erreurs à "maximum", depuis l'administration si tu le peux, sinon en modifiant manuellement les variables debug à "1" et error_reporting à 'maximum". Tu devrais alors avoir des infos sur l'extension non compatible utilisant JString et qui sera à désactiver.
    "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
    MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

    Commentaire


    • #3
      Bonjour,

      Merci de ton retour, pour le frontend ça m'indique un champ manquant en base de donnée : publish_up de la table jos_menu (d'ailleurs je n'ai pas non plus le champ publish_down) :

      Il y avait une correction à faire sur la BDD avant la MAJ, du coup je l'ai faite (un seul problème de mémoire, mais pas sur cette table) :

      Code:
      Joomla\Database\Exception\PrepareStatementFailureE xception:
      Unknown column 'm.publish_up' in 'where clause'
      
      at C:\xampp\htdocs\motoaddi\libraries\vendor\joomla\d atabase\src\Mysqli\MysqliStatement.php:141
      at Joomla\Database\Mysqli\MysqliStatement->__construct(object(mysqli), 'SELECT `m`.`id`,`m`.`menutype`,`m`.`title`,`m`.`alias`,`m `.`note`,`m`.`link`,`m`.`type`,`m`.`level`,`m`.`la nguage`,`m`.`browserNav`,`m`.`access`,`m`.`params` ,`m`.`home`,`m`.`img`,`m`.`template_style_id`,`m`. `component_id`,`m`.`parent_id`,`m`.`path` AS `route`,`e`.`element` AS `component`
      FROM `jos_menu` AS `m`
      LEFT JOIN `jos_extensions` AS `e` ON `m`.`component_id` = `e`.`extension_id`
      WHERE
      (
      (`m`.`published` = 1 AND `m`.`parent_id` > 0 AND `m`.`client_id` = 0) AND
      (`m`.`publish_up` IS NULL OR `m`.`publish_up` <= ?)) AND
      (`m`.`publish_down` IS NULL OR `m`.`publish_down` >= ?)
      ORDER BY `m`.`lft`')
      (C:\xampp\htdocs\motoaddi\libraries\vendor\joomla\ database\src\Mysqli\MysqliDriver.php:1048)
      at Joomla\Database\Mysqli\MysqliDriver->prepareStatement('SELECT `m`.`id`,`m`.`menutype`,`m`.`title`,`m`.`alias`,`m `.`note`,`m`.`link`,`m`.`type`,`m`.`level`,`m`.`la nguage`,`m`.`browserNav`,`m`.`access`,`m`.`params` ,`m`.`home`,`m`.`img`,`m`.`template_style_id`,`m`. `component_id`,`m`.`parent_id`,`m`.`path` AS `route`,`e`.`element` AS `component`
      FROM `jos_menu` AS `m`
      LEFT JOIN `jos_extensions` AS `e` ON `m`.`component_id` = `e`.`extension_id`
      WHERE
      (
      (`m`.`published` = 1 AND `m`.`parent_id` > 0 AND `m`.`client_id` = 0) AND
      (`m`.`publish_up` IS NULL OR `m`.`publish_up` <= :currentDate1)) AND
      (`m`.`publish_down` IS NULL OR `m`.`publish_down` >= :currentDate2)
      ORDER BY `m`.`lft`')
      (C:\xampp\htdocs\motoaddi\libraries\vendor\joomla\ database\src\DatabaseDriver.php:1900)
      at Joomla\Database\DatabaseDriver->setQuery(object(MysqliQuery))
      (C:\xampp\htdocs\motoaddi\libraries\src\Menu\SiteM enu.php:155)
      at Joomla\CMS\Menu\SiteMenu->Joomla\CMS\Menu\{closure}()
      (C:\xampp\htdocs\motoaddi\libraries\src\Cache\Cont roller\CallbackController.php:96)
      at Joomla\CMS\Cache\Controller\CallbackController->get(object(Closure), array(), 'd17e8e13b99b4d9bf23a7d0b83a466c3', false)
      (C:\xampp\htdocs\motoaddi\libraries\src\Menu\SiteM enu.php:171)
      at Joomla\CMS\Menu\SiteMenu->load()
      (C:\xampp\htdocs\motoaddi\libraries\src\Menu\Abstr actMenu.php:329)
      at Joomla\CMS\Menu\AbstractMenu->getMenu()
      (C:\xampp\htdocs\motoaddi\libraries\src\Menu\Abstr actMenu.php:148)
      at Joomla\CMS\Menu\AbstractMenu->getItem(null)
      (C:\xampp\htdocs\motoaddi\libraries\src\Applicatio n\SiteApplication.php:431)
      at Joomla\CMS\Application\SiteApplication->getTemplate(true)
      (C:\xampp\htdocs\motoaddi\libraries\src\Error\Rend erer\HtmlRenderer.php:47)
      at Joomla\CMS\Error\Renderer\HtmlRenderer->render(object(PrepareStatementFailureException) )
      (C:\xampp\htdocs\motoaddi\libraries\src\Exception\ ExceptionHandler.php:128)
      at Joomla\CMS\Exception\ExceptionHandler::render(obje ct(PrepareStatementFailureException))
      (C:\xampp\htdocs\motoaddi\libraries\src\Exception\ ExceptionHandler.php:71)
      at Joomla\CMS\Exception\ExceptionHandler::handleExcep tion(object(PrepareStatementFailureException))
      (C:\xampp\htdocs\motoaddi\libraries\src\Applicatio n\CMSApplication.php:311)
      at Joomla\CMS\Application\CMSApplication->execute()
      (C:\xampp\htdocs\motoaddi\includes\app.php:63)
      at require_once('C:\\xampp\\htdocs\\motoaddi\\include s\\app.php')
      (C:\xampp\htdocs\motoaddi\index.php:32)
      La structure de la table en question :
      Cliquez sur l'image pour l'afficher en taille normale

Nom : 5.png 
Affichages : 258 
Taille : 187,6 Ko 
ID : 2030099
      Fichiers joints

      Commentaire


      • #4
        Ce qui serait utile, c'est la liste des fichiers concernés par l'erreur de chaque page que tu montres au début, afin de connaître l'extension en cause.

        Pour la base de données, le seul moyen de correction en version 4, si le bouton de correction ne suffit pas, est de sauvegarder les tables et de les importer dans une nouvelle base, puis de modifier le fichier de configuration pour que le site utilise cette nouvelle base. C'est ce qui m' été répondu sur forum.joomla.org. Pas d'autre méthode comme celle qu'on avait pour Joomla! 3.
        "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
        MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

        Commentaire


        • #5
          Ce que tu veux dire concernant la base, c'est que je fais une fresh install d'une V4 avec une base clean. Puis ensuite j'importe le contenu des tables de ma 3.10 vers les tables de la V4 c'est ça ?

          Concernant les écrans de l'interface admin, les voici :
          Code:
          [B]Une erreur s'est produite[/B][INDENT]0 Class "JString" not found[/INDENT]
            [TABLE]
          [TR]
          [TD="colspan: 3"][B]Call stack[/B][/TD]
           		[/TR]
          [TR]
          [TD][B]#[/B][/TD]
           			[TD][B]Function[/B][/TD]
           			[TD][B]Location[/B][/TD]
           		[/TR]
          [TR]
          [TD]1[/TD]
           			[TD]()[/TD]
           			[TD]JROOT\language\fr-FR\fr-FR.localise.php:98[/TD]
           		[/TR]
          [TR]
          [TD]2[/TD]
           			[TD]Fr_FRLocalise::transliterate()[/TD]
           			[TD]JROOT\libraries\src\Language\Language.php:394[/TD]
           		[/TR]
          [TR]
          [TD]3[/TD]
           			[TD]Joomla\CMS\Language\Language->transliterate()[/TD]
           			[TD]JROOT\libraries\src\Filter\OutputFilter.php:88[/TD]
           		[/TR]
          [TR]
          [TD]4[/TD]
           			[TD]Joomla\CMS\Filter\OutputFilter::stringURLSafe()[/TD]
           			[TD]JROOT\libraries\src\Application\ApplicationHelper. php:103[/TD]
           		[/TR]
          [TR]
          [TD]5[/TD]
           			[TD]Joomla\CMS\Application\ApplicationHelper::stringUR LSafe()[/TD]
           			[TD]JROOT\administrator\components\com_cpanel\src\View \Cpanel\HtmlView.php:61[/TD]
           		[/TR]
          [TR]
          [TD]6[/TD]
           			[TD]Joomla\Component\Cpanel\Administrator\View\Cpanel\ HtmlView->display()[/TD]
           			[TD]JROOT\libraries\src\MVC\Controller\BaseController. php:692[/TD]
           		[/TR]
          [TR]
          [TD]7[/TD]
           			[TD]Joomla\CMS\MVC\Controller\BaseController->display()[/TD]
           			[TD]JROOT\administrator\components\com_cpanel\src\Cont roller\DisplayController.php:54[/TD]
           		[/TR]
          [TR]
          [TD]8[/TD]
           			[TD]Joomla\Component\Cpanel\Administrator\Controller\D isplayController->display()[/TD]
           			[TD]JROOT\libraries\src\MVC\Controller\BaseController. php:730[/TD]
           		[/TR]
          [TR]
          [TD]9[/TD]
           			[TD]Joomla\CMS\MVC\Controller\BaseController->execute()[/TD]
           			[TD]JROOT\libraries\src\Dispatcher\ComponentDispatcher .php:146[/TD]
           		[/TR]
          [TR]
          [TD]10[/TD]
           			[TD]Joomla\CMS\Dispatcher\ComponentDispatcher->dispatch()[/TD]
           			[TD]JROOT\libraries\src\Component\ComponentHelper.php: 389[/TD]
           		[/TR]
          [TR]
          [TD]11[/TD]
           			[TD]Joomla\CMS\Component\ComponentHelper::renderCompon ent()[/TD]
           			[TD]JROOT\libraries\src\Application\AdministratorAppli cation.php:143[/TD]
           		[/TR]
          [TR]
          [TD]12[/TD]
           			[TD]Joomla\CMS\Application\AdministratorApplication->dispatch()[/TD]
           			[TD]JROOT\libraries\src\Application\AdministratorAppli cation.php:186[/TD]
           		[/TR]
          [TR]
          [TD]13[/TD]
           			[TD]Joomla\CMS\Application\AdministratorApplication->doExecute()[/TD]
           			[TD]JROOT\libraries\src\Application\CMSApplication.php :278[/TD]
           		[/TR]
          [TR]
          [TD]14[/TD]
           			[TD]Joomla\CMS\Application\CMSApplication->execute()[/TD]
           			[TD]JROOT\administrator\includes\app.php:63[/TD]
           		[/TR]
          [TR]
          [TD]15[/TD]
           			[TD]require_once()[/TD]
           			[TD]JROOT\administrator\index.php:32[/TD]
           		[/TR]
          [/TABLE]
          Code:
          [B]Une erreur s'est produite[/B][INDENT]0 count(): Argument #1 ($var) must be of type Countable|array, bool given[/INDENT]
            [TABLE]
          [TR]
          [TD="colspan: 3"][B]Call stack[/B][/TD]
           		[/TR]
          [TR]
          [TD][B]#[/B][/TD]
           			[TD][B]Function[/B][/TD]
           			[TD][B]Location[/B][/TD]
           		[/TR]
          [TR]
          [TD]1[/TD]
           			[TD]()[/TD]
           			[TD]JROOT\administrator\components\com_content\src\Vie w\Articles\HtmlView.php:100[/TD]
           		[/TR]
          [TR]
          [TD]2[/TD]
           			[TD]Joomla\Component\Content\Administrator\View\Articl es\HtmlView->display()[/TD]
           			[TD]JROOT\libraries\src\MVC\Controller\BaseController. php:692[/TD]
           		[/TR]
          [TR]
          [TD]3[/TD]
           			[TD]Joomla\CMS\MVC\Controller\BaseController->display()[/TD]
           			[TD]JROOT\administrator\components\com_content\src\Con troller\DisplayController.php:63[/TD]
           		[/TR]
          [TR]
          [TD]4[/TD]
           			[TD]Joomla\Component\Content\Administrator\Controller\ DisplayController->display()[/TD]
           			[TD]JROOT\libraries\src\MVC\Controller\BaseController. php:730[/TD]
           		[/TR]
          [TR]
          [TD]5[/TD]
           			[TD]Joomla\CMS\MVC\Controller\BaseController->execute()[/TD]
           			[TD]JROOT\libraries\src\Dispatcher\ComponentDispatcher .php:146[/TD]
           		[/TR]
          [TR]
          [TD]6[/TD]
           			[TD]Joomla\CMS\Dispatcher\ComponentDispatcher->dispatch()[/TD]
           			[TD]JROOT\libraries\src\Component\ComponentHelper.php: 389[/TD]
           		[/TR]
          [TR]
          [TD]7[/TD]
           			[TD]Joomla\CMS\Component\ComponentHelper::renderCompon ent()[/TD]
           			[TD]JROOT\libraries\src\Application\AdministratorAppli cation.php:143[/TD]
           		[/TR]
          [TR]
          [TD]8[/TD]
           			[TD]Joomla\CMS\Application\AdministratorApplication->dispatch()[/TD]
           			[TD]JROOT\libraries\src\Application\AdministratorAppli cation.php:186[/TD]
           		[/TR]
          [TR]
          [TD]9[/TD]
           			[TD]Joomla\CMS\Application\AdministratorApplication->doExecute()[/TD]
           			[TD]JROOT\libraries\src\Application\CMSApplication.php :278[/TD]
           		[/TR]
          [TR]
          [TD]10[/TD]
           			[TD]Joomla\CMS\Application\CMSApplication->execute()[/TD]
           			[TD]JROOT\administrator\includes\app.php:63[/TD]
           		[/TR]
          [TR]
          [TD]11[/TD]
           			[TD]require_once()[/TD]
           			[TD]JROOT\administrator\index.php:32[/TD]
           		[/TR]
          [/TABLE]
          [URL="http://localhost/motoaddi/administrator"] Retour au panneau de contrôle[/URL]

          Commentaire


          • #6
            Non, pour la base c'est la réparation d'une base de version 4 qui nécessite de l'exporter pour l'importer dans une nouvelle base. Voir : https://forum.joomla.org/viewtopic.p...7570&p=3636187

            Il est curieux que tu aies une erreur sur cette ligne 98 de localise.php qui est pourtant la même en 3.10.0 et en 4.0.0
            Tout ça ressemble fort à un problème de remplacement de fichiers qui a échoué en cours de mise à jour.
            Puisque tu es en local, écrase le site avec le pack 4.0 français sans le dossier d'installation, pui va voir ce qui t'est dit dans les pages de vérification de la base et celle de découverte d'extension
            "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
            MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

            Commentaire


            • #7
              Tu es de bon conseil, merci !

              J'ai pu rétablir certains trucs effectivement en écrasant les fichiers avec ceux du pack V4, et pour la base j'ai pu accéder à l'URL du composant de correction de la base qui a détecté qu'elle est restée en 3.10. Le bouton "Corriger" l'a passée en V4. Je peux de nouveau voir mes articles depuis le back end et accéder au panneau de controle.

              Par contre dans l'interface admin, mon menu Système est vide, le panneau de contrôle me semble incomplet, le frontend m'affiche juste le logo Cassiopeia et quand je me balade dans les menu du back-end, au bout d'un moment je perds tout mes menus sans pouvoir les rétablir, même en vidant le cache navigateur :
              Cliquez sur l'image pour l'afficher en taille normale

Nom : 8.png 
Affichages : 259 
Taille : 11,3 Ko 
ID : 2030120

              Au final, je me demande si c'est pas XAMPP le problème, tout ça me fait penser à des problèmes d'écriture sur le disque.

              Commentaire


              • #8
                Bonjour,

                Manifestement, la base de données n'a pas été correctement traitée. J'ai eu le même souci lors d'un essai de migration à cause d'une extension que le script de vérification ne m'avait pas signalée. Le panneau d'administration et la page "système" étaient vides de modules.
                Je suis repartir du site en 3.10 après vérification de la base, au cas où, et la migration s'est faite (avec d'autres soucis liés à la désactivation d'extensions connues comme non compatibles, ce ui m'oblige à surseoir pour ce site, comme pour d'autres).
                "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
                MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

                Commentaire


                • #9
                  Merci pour ton aide, je vais poursuivre quelques tests et si je ne m'en sors pas j'attendrai la prochaine release pour voir s'il y a du mieux.

                  Commentaire


                  • #10
                    Assure-toi que le max_execution_time soit suffisamment long, si tu ne l'as pas déjà vérifié.
                    "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
                    MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

                    Commentaire

                    Annonce

                    Réduire
                    Aucune annonce pour le moment.

                    Partenaire de l'association

                    Réduire

                    Hébergeur Web PlanetHoster
                    Travaille ...
                    X