Est-ce que Joomla 3.9.23 est comptabile avec PHP 8?

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

  • [RÉGLÉ] Est-ce que Joomla 3.9.23 est comptabile avec PHP 8?

    Bonjour,

    mon hébergeur Infomaniak me permet de passer à PHP 8.

    J'ai essayé cette version mais j'ai une erreur.

    Pouvez-vous me dire si cette version de joomla est compatible avec PHP 8 où s'il s'agit d'un problème avec mon template?

    Merci pour vos réponse
    Bien à vous
    Amar Guillen

  • #2
    Bonjour

    Avec PHP 8, les erreurs dites "silencieuses" ne le sont plus => une erreur qu'on ne voyait pas car le programmeur avait utilisé un @ comme dans "@efface_le_fichier 'Fichier inexistant'" (écrit en français pour la bonne compréhension). Si le fichier n'existe pas, une erreur est provoquée. L'arobase permettait de dire "Oui, oui, pas grave, on s'en fout et continue".

    PHP 8 est devenu plus strict et émet une erreur. Du coup, le "vieux code" doit être adapté.

    Il y a d'autres raisons qui pourrait provoquer des erreurs avec un PHP 8.

    Comme tu ne donnes pas le message d'erreur que tu as eu, impossible d'être précis.

    Du coup, même si Joomla est compatible (je n'ai pas vérifié), tu as sur ton site des extensions, modules, plugins et un template et l'un de ces joyeux drilles ne l'est peut-être pas.
    Christophe (cavo789)
    Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
    Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

    Commentaire


    • #3
      Bonjour,

      L'annonce de la compatibilité php8 a été annoncé à plusieurs reprises :
      joomla.org, le portail joomla.fr, le forum ainsi que facebook ( page joomla.fr et JUG )

      Donc oui mais ce n'est pas le cas de toutes les extensions tierces ainsi que des templates avec ou sans framework.

      Vous avez déjà une discussion ouverte sur Joomla 3.6.23 et PHP 8


      guillenphoto
      Les templates Gavick datent de plusieurs années, le suivi et les abonnements ont été repris par l'équipe de Joomlart qui continue les correctifs et la compatibilité avec les nouvelles versions de joomla comme annoncé sur leur blog.

      L'équipe dédié au template de Gavick n'a pas annoncé leur mise à jour vers joomla 3.9.23, ni la compatibilité avec php8 et encore moins la compatibilité avec joomla 4. Il faudra certainement être patient ou changer de template et de concepteur.

      Php 8 est assez jeune (sortie le 26 novembre 2020) et php 7.4 reste encore suivi jusqu'au 28 novembre 2022... :
      PHP is a popular general-purpose scripting language that powers everything from your blog to the most popular websites in the world.
      Joomla User Group (JUG) Lille : https://www.facebook.com/groups/JUGLille/

      Commentaire


      • #4
        Envoyé par cavo789 Voir le message
        Bonjour

        Du coup, même si Joomla est compatible (je n'ai pas vérifié), tu as sur ton site des extensions, modules, plugins et un template et l'un de ces joyeux drilles ne l'est peut-être pas.
        Effectivement, après avoir annoncé que Joomla 3.6.23 était compatible
        PHP 8 (voir les correctifs #31246, #30608, #30582, #29353, #30922, #31444, #31434, #31442, #31445).
        Source : https://www.joomla.fr/actualites/joo...est-disponible

        Je ne sais pas comment le dire autrement mis à part que j'ai recommandé de tester avant de changer car les extensions et templates ne sont pas forcément suivis.
        Certains sont datent de plusieurs années. Le mieux, c'est de contacter l'auteur ou l'équipe en charge du suivi de ces extension ou templates.

        Tous les retours (test, évaluation, correctifs) sur le forum sont évidemment appréciés sachant que la publication est récente.

        cavo789 aime ceci.
        Joomla User Group (JUG) Lille : https://www.facebook.com/groups/JUGLille/

        Commentaire


        • #5
          Bonjour,

          je vous remercie pour vos réponses.

          J'ai créé un site de test sur lequel j'ai paramétré la version 8 de PHP.
          L'erreur se produit. Je suis bien incapable de dire où le problème.

          Si quelqu'un pouvait m'aiguiller, cela m'aiderait à chercher une solution.
          Le site de test est à cette adresse : https://migration.guillenphoto.com/

          Merci pour vos conseils.
          Bien à vous
          Amar Guillen

          Commentaire


          • #6
            Bonjour,

            Active le débogage et mets le rapport d'erreurs à "développement", dans la configuration, tu devrais alors avoir un peu plus de détails sur ce qui cause cette erreur.
            "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
              Bonjour, on ne peut pas tester le site car ce que l'on obtient, ce sont le résultat interprété et non le code php en lui-même (heureusement!).
              L'affichage indique l'erreur voir plus avec si le rapport est activé comme l'explique RobertG mais intervenir sur le code, ce n'est pas l'objectif.

              De mon avis, il faut faire la liste des extensions et tester un par un en commençant par le template.

              Ainsi sans connaître le langage php, on vérifie si un ou plusieurs éléments génère une erreur. C'est à dire :
              1. installer la dernière version de joomla seule sous php8, on vérifie
              2. installer le template utilisé en prod... on vérifie
              3. contrôler backend & front puis poursuivre avec les composants, modules et plugins tiers.
              Dès que l'on trouve une erreur qui n'existe pas en php 7 (si la configuration du serveur le permet, on bascule entre php7 et php8 pour confirmer), on note et on remonte l'info au développeur de l'extension ou au concepteur du template selon le dernier élément installé.

              En réalité, le développeur dispose de la version qu'il fournie publiquement mais également d'une version source (sans compression ou minification) qu'il a commenté généreusement afin de pouvoir opérer les changements, corriger ou de développer de nouvelles fonctionnalités. Généralement le développeur est équipé d'éditeur de code comme PHPStorm incluant xdebug 3, phpstan qui peuvent scanner chaque ligne de code en prenant en charge également php8.

              Pour résumer, le contributeur, client ou utilisateur doit apporter son soutien en indiquant le problème et les conditions pour le reproduire. Pour le reste, c'est aux développeurs d'en trouver la solution. Si un projet ou une fonctionnalité est à l'abandon, c'est l'occasion de voir si d'autres n'ont pas remplacé ou amélioré. Certains pourraient même être intéressé pour reprendre comme ce fut le cas pour certaines équipes.

              Il faut également prendre en compte que le temps est avec nous (les développeurs ne sont pas fous!), php7.4 est maintenue pendant 2 ans(fin 2022) et c'est loin d'être utilisé comme l'indique les statistiques : https://developer.joomla.org/about/stats.html

              Souhaiter la migration de php est donc une idée ambitieuse et il faudra attendre plusieurs mois avant que cela se généralise. La transition vers PHP 8 est l'un des changements les plus importants que PHP ait jamais connus. Il ouvre d'autres possibilités qui à terme seront utilisés, on aura l'occasion de découvrir cela ensemble en 2021 à travers des réalisations concrètes. Toutefois, la priorité des développeurs sera certainement de développer la solution sous Joomla 4 tout en maintenant la version Joomla 3, la compatibilité php 8 en plus.


              Joomla User Group (JUG) Lille : https://www.facebook.com/groups/JUGLille/

              Commentaire


              • #8
                Bonjour Daneel et RobertG,

                je n'arrive pas à lancer l'administration du site avec PHP 8.

                Voici l'erreur que j'ai à l'écran. J'ai quand même l'impression que cela vient de Joomla. Avec l'administration, on ne parle pas de template ou d'extension.

                Qu'en pensez-vous?

                Amar Guillen

                Cliquez sur l'image pour l'afficher en taille normale

Nom : Screenshot 2020-12-09 113329.png 
Affichages : 530 
Taille : 15,2 Ko 
ID : 2022930

                Commentaire


                • #9
                  Si, si, il suffit qu'une extension, plugin souvent, soit aussi active dans l'administration pour qu'elle puisse faire planter celle-ci.
                  On ne voit pas ce que précise ta copie d'écran.
                  Commence par modifier dans le ficher configuration.php puisque tu n'accèdes pas à l'administration les deux valeurs de debug de 0 à 1 et de error_reporting de "non" à "development".
                  Si ça ne te permet pas d'avancer, il te faudra suivre la méthode de daneel : site vierge puis ajout une à une des extensions jusqu'à détecter laquelle fait planter le site.
                  "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


                  • #10
                    Bonjour RobertG,

                    effectivement c'est l'extension AdminTools que j'utilise pour sécuriser le site qui ne fonctionne pas avec PHP 8.0.
                    Je vais donc attendre et surveiller les évolutions des extensions.

                    Merci pour votre aide et vos conseils.

                    Bien à vous
                    Amar Guillen

                    Commentaire


                    • #11
                      Comme mentionné plus haut, PHP 8 n'est pas PHP 7.xxxx mais il y a un changement de version majeur : ce n'est pas fait pour le fun mais pour indiquer qu'il y a des cassures par rapport à la version précédente.

                      8 vient avec des éléments de langage supprimé (et donc un code qui fait un appel à une fonction ayant été supprimée va donc planter dorénavant). 8 vient aussi avec des notices / warnings qui étaient sans conséquence et qui maintenant vont "jeter" des erreurs fatales.

                      Ce n'est pas donc une mise-à-jour indolore mais bien un travail conséquent pour les développeurs et, comme l'indique Yann, cela en sus de la migration vers Joomla 4.

                      A mon sens, il faudra encore attendre longtemps avant d'avoir des grosses extensions compatibles PHP 8.
                      Christophe (cavo789)
                      Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
                      Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

                      Commentaire

                      Annonce

                      Réduire
                      Aucune annonce pour le moment.

                      Partenaire de l'association

                      Réduire

                      Hébergeur Web PlanetHoster
                      Travaille ...
                      X