Message erreur Strict Standards: Only variables should be assigned by reference in

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

  • [Problème] Message erreur Strict Standards: Only variables should be assigned by reference in

    Bonjour,

    Ma config : Easy Php, php 5.4.6, Mysql 5.5.27 et apache 2.4.2 sous Windows 8 64bits.

    J'ai installé l'extension Twitter Roll Deluxe 2 le module s'est bien installé et il fonctionne correctement sur le back et le front office.

    Mais j'ai le message suivant sur le front office : Strict Standards: Only variables should be assigned by reference in C:\Program Files (x86)\EasyPHP\www\joomla\modules\mod_twitterrollde luxe\mod_twitterrolldeluxe.php on line 11

    Savez-vous ce que je dois modifier dans ma config php pour ne plus avoir ce message ?

    Merci à tous pour l'aide.

  • #2
    Re : Message erreur Strict Standards: Only variables should be assigned by reference

    Bonjour,

    cette question est posée plusieurs fois par jour, une simple recherche sur le forum retourne des centaines de résultats. En attendant, tu peux lire cet article :
    Pour apprendre à construire votre site web avec Joomla 3 : Joomla3! Le Livre Pour Tous : http://cinnk.com/joomla/3/le-livre-pour-tous

    Référencement Joomla! 10 astuces pour référencer son site web https://cinnk.com/articles/referencement-joomla-10-astuces-pour-referencer-son-site-web

    Créez votre boutique en ligne avec Joomla! & HikaShop http://cinnk.com/boutique/livres/cre...la-et-hikashop

    Commentaire


    • #3
      Re : Message erreur Strict Standards: Only variables should be assigned by reference

      Bonjour, et meilleurs voeux pour la nouvelle année

      Cette question est peut être posée plusieurs fois par jour mais l'article cité par SimonG ne donne pas de réponse satisfaisantes.

      En effet, les réglages dans l'administration du site ne font aucun effet.

      Quand à modifier le fichier php.ini, l'article dit de mettre
      Code:
      error_reporting = E_ALL & ~E_NOTICE
      Ce qui est une hérésie: si on veut pas que les avertissements stricts remontent il faut mettre
      Code:
      error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT
      Or c'était le paramétrage que j'avais. Et les erreurs stricts remontaient quand même.

      Je me suis posé des tas de questions: est ce que c'est le bon fichier php.ini ? Un locate m'a convaincu que oui.

      J'ai quand même essayé de le modifier. Relancer apache avec 'sudo /etc/init.d/apache2 force-reload', et , dans le doute, carrément rebooter toute la machine. Rien à faire toujours les erreurs.

      J'ai passé aussi le code du composant incriminé au crible: je suis programmeur php et je n'ai trouvé aucun objet assigné explicitement par référence. Ce qui serait effectivement une erreur car en php les objets sont automatiquement et toujours passé par référence donc il n'y a pas besoin de forcer le passage. J'y perd mon latin. Ou plutôt mon php.

      Finalement, des recherches sur le web mon appris que c'est à partir de PHP5.4 que ces avertissements sont remontés. Donc, je m'en suis tiré en downgradant mon serveur en 5.3 grâce à ce script https://gist.github.com/intel352/5757860

      Mais je suis vraiment pas satisfait et fier de ma solution. Là je suis sur un serveur de démonstration dans le cloud amazon où je contrôle tout mais si l'hébergement définitif est sur un mutualisé où on contrôle rien avec un php >=5.4 ce composant risque de planter de nouveau.

      Commentaire


      • #4
        Re : Message erreur Strict Standards: Only variables should be assigned by reference

        Bonjour,

        S'il s'agit bien de l'extension Twitter Roll Deluxe, comme le warning Strict semble le signaler, cette extension a été supprimée du JED:
        http://extensions.joomla.org/extensi...-display/21183 puisque "non fonctionnelle".
        Pas de demande de support par MP.
        S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

        Commentaire


        • #5
          Re : Message erreur Strict Standards: Only variables should be assigned by reference

          Bonjour JRouane et meilleurs voeux également

          Envoyé par jrouane Voir le message
          l'article cité par SimonG ne donne pas de réponse satisfaisantes.
          "Pourtant elle tourne...", euh?, non, "Pourtant elle fonctionne..." ;-)

          Cette solution est parfaitement fonctionnelle; je te l'assure reste que elle peut être annihilée très simplement : si je suis développeur, rien ne m'empêche dans ma propre programmation de faire un error_reporting(E_ALL) pour, parce que je veux voir les erreurs; les afficher.

          Si c'est le cas, si le programmeur l'a fait, tu comprendras qu'un paramètre global est annulé par une programmation locale.

          Je ne connais pas l'extension dont tu parles; je mentionne juste un cas pratique pour expliquer pourquoi, probablement, dans ton cas cela n'a pas fonctionné.

          Bonne journée.
          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


          • #6
            Re : Message erreur Strict Standards: Only variables should be assigned by reference

            Salut,
            si je m'en tiens au message de départ :

            Strict Standards: Only variables should be assigned by reference in ..... ligne xxx
            En général, c'est lié à PHP 5.3+ et le fait que "=&" est "deprecated", cad obsolète.

            Correction classique :
            $uri =& JURI::getInstance();
            Corriger par :
            $uri = JURI::getInstance();
            Ref dans php.net
            =& produces an E_DEPRECATED message in PHP 5.3

            PHP: What References Do - Manual
            "Since PHP 5, new returns a reference automatically, so using =& in this context is deprecated and produces an E_DEPRECATED message in PHP 5.3 and later, and an E_STRICT message in earlier versions. (Technically, the difference is that, in PHP 5, object variables, much like resources, are a mere pointer to the actual object data, so these object references are not "references" in the same sense used before (aliases). For more information, see Objects and references.) "


            + downgrader vers 5.3 ne me parait pas une super idée.

            Bonne Année à tous et Happy coding
            Un message d’erreur sur votre site Joomla ... ayez le reflexe de consulter lla base de connaissance : https://kb.joomla.fr

            Ce forum, vous l'aimez ? il vous a sauvé la vie ? Vous y apprenez chaque jour ? Alors adhérez à l'AFUJ https://www.joomla.fr/association/adherer

            Commentaire


            • #7
              Re : Message erreur Strict Standards: Only variables should be assigned by reference

              Bonjour, et merci de vos réponses.

              Je n'aurais pas du squatter ce sujet parce que l'extension en cause dans mon cas n'est pas la même. Dans mon cas il s'agit de wgPicasa http://extensions.joomla.org/extensi...e-images/10937


              Envoyé par cavo789 Voir le message
              ...
              "Pourtant elle tourne...", euh?, non, "Pourtant elle fonctionne..." ;-)

              Cette solution est parfaitement fonctionnelle; je te l'assure reste que elle peut être annihilée très simplement : si je suis développeur, rien ne m'empêche dans ma propre programmation de faire un error_reporting(E_ALL) pour, parce que je veux voir les erreurs; les afficher.

              Si c'est le cas, si le programmeur l'a fait, tu comprendras qu'un paramètre global est annulé par une programmation locale.

              Je ne connais pas l'extension dont tu parles; je mentionne juste un cas pratique pour expliquer pourquoi, probablement, dans ton cas cela n'a pas fonctionné.

              Bonne journée.
              Tu as parfaitement raison. J'ignorais cette possibilité du PHP. Dans le fichier wgpicassa.php nous avons effectivement lignes 26-27-28
              Code:
              // DEBUG
              ini_set('display_errors',true);
              error_reporting(E_ALL);
              Envoyé par ghazal Voir le message
              ...
              En général, c'est lié à PHP 5.3+ et le fait que "=&" est "deprecated", cad obsolète.
              ...
              Ref dans php.net
              =& produces an E_DEPRECATED message in PHP 5.3

              PHP: What References Do - Manual
              "Since PHP 5, new returns a reference automatically, so using =& in this context is deprecated and produces an E_DEPRECATED message in PHP 5.3 and later, and an E_STRICT message in earlier versions. (Technically, the difference is that, in PHP 5, object variables, much like resources, are a mere pointer to the actual object data, so these object references are not "references" in the same sense used before (aliases). For more information, see Objects and references.) "


              + downgrader vers 5.3 ne me parait pas une super idée.

              ...
              Je suis d'accord que downgrader est un pis aller. Quoique sur des vieux serveurs je suis encore obligé de programmer en 5.2, avec des fonctions date sommaires. Donc ça me dérange pas plus que ça si ça fonctionne bien.

              Mais là il y a un mystère avec ce composant (wgPicassa). En PHP5.3, avec error_reporting(E_ALL) je devrais avoir des deprecated qui remonte au lieu des stricts. Or je n'en ai pas.

              Les alarmes strict en PHP5.4 se produisent dans les fichiers du template, à tous les niveaux (header, bannière, menu, corps de page, footer ...).

              J'ai scanné toute les fichiers php du composant et tout les fichiers php du template, en cherchant les esperluettes. A part les html entities et les ET logique je n'ai rien trouvé. Aucun passage par référence.

              Je crois que c'est plutôt ce template qui digère mal ce composant.

              Bonne soirée

              Commentaire


              • #8
                Re : Message erreur Strict Standards: Only variables should be assigned by reference

                Respect à ceux qui savent encore ce qu'est une esperluette ! XD

                Les alarmes strict en PHP5.4 se produisent dans les fichiers du template, à tous les niveaux (header, bannière, menu, corps de page, footer ...).
                * si tu as des alertes Strict Standard telles que signalées dans l'objet du post de départ, indique-les ici.
                Sinon, ouvre un autre post.

                * Quel est le template ?
                Un message d’erreur sur votre site Joomla ... ayez le reflexe de consulter lla base de connaissance : https://kb.joomla.fr

                Ce forum, vous l'aimez ? il vous a sauvé la vie ? Vous y apprenez chaque jour ? Alors adhérez à l'AFUJ https://www.joomla.fr/association/adherer

                Commentaire


                • #9
                  Re : Message erreur Strict Standards: Only variables should be assigned by reference

                  Bonjour

                  Bon j'ai mis un petit peu de temps car il a fallu que je m'installe un serveur en PHP5.4 pour reproduire.

                  C'est une maquette pour le projet de site de mon association d'astronomie. Vous pouvez la voir à http://54.244.126.31/spacb/ (c'est le serveur que j'ai downgradé en PHP 5.3). Le composant qui pose problème est sur la page Asssociation->Gallerie d'image 2 . Sur ce site de démo en 5.3 ça fonctionne bien

                  Le template est YouGrids http://www.youjoomla.com/joomla-temp...s#files_holder

                  Voici les erreurs que j'ai en PHP5.4. L'entête est en vrac, le menu est en vrac, le corps de page avec ses 3 colonnes et les images Picasa s'affiche correctement, puis après, avant le pied de page, de nouveau 3 alarmes strict

                  Strict Standards: Only variables should be assigned by reference in C:\xampp\htdocs\spacb\templates\yougrids\yjsgcore\ yjsg_core.php on line 42

                  Strict Standards: Only variables should be assigned by reference in C:\xampp\htdocs\spacb\templates\yougrids\yjsgcore\ yjsg_stylesw.php on line 16

                  Strict Standards: Only variables should be assigned by reference in C:\xampp\htdocs\spacb\templates\yougrids\yjsgcore\ lib\yjsg_loadgrids.php on line 131

                  Strict Standards: Only variables should be assigned by reference in C:\xampp\htdocs\spacb\templates\yougrids\yjsgcore\ lib\yjsg_loadgrids.php on line 131

                  Strict Standards: Non-static method modhdArticleHelper::getTheArticle() should not be called statically in C:\xampp\htdocs\spacb\modules\mod_articlemod\mod_a rticlemod.php on line 5

                  Strict Standards: Only variables should be assigned by reference in C:\xampp\htdocs\spacb\modules\mod_articlemod\helpe r.php on line 9
                  SOCIÉTÉ POPULAIRE D'ASTRONOMIE DE LA CÔTE BASQUE

                  Strict Standards: Only variables should be assigned by reference in C:\xampp\htdocs\spacb\templates\yougrids\html\mod_ menu\default.php on line 17


                  Strict Standards: Only variables should be assigned by reference in C:\xampp\htdocs\spacb\templates\yougrids\html\mod_ menu\yjsgmega\yjsg_modhelper.php on line 33
                  Accueil

                  Strict Standards: Only variables should be assigned by reference in C:\xampp\htdocs\spacb\templates\yougrids\html\mod_ menu\yjsgmega\yjsg_modhelper.php on line 33
                  Animateur

                  Strict Standards: Only variables should be assigned by reference in C:\xampp\htdocs\spacb\templates\yougrids\html\mod_ menu\yjsgmega\yjsg_modhelper.php on line 33

                  Strict Standards: Only variables should be assigned by reference in C:\xampp\htdocs\spacb\templates\yougrids\html\mod_ menu\yjsgmega\default.php on line 115
                  Association

                  Strict Standards: Only variables should be assigned by reference in C:\xampp\htdocs\spacb\templates\yougrids\html\mod_ menu\yjsgmega\yjsg_modhelper.php on line 33
                  Observations

                  Strict Standards: Only variables should be assigned by reference in C:\xampp\htdocs\spacb\templates\yougrids\html\mod_ menu\yjsgmega\yjsg_modhelper.php on line 33
                  Liens

                  Accueil
                  Association
                  Gallerie photo 2


                  Strict Standards: Only variables should be assigned by reference in C:\xampp\htdocs\spacb\templates\yougrids\yjsgcore\ lib\yjsg_loadgrids.php on line 131

                  Strict Standards: Only variables should be assigned by reference in C:\xampp\htdocs\spacb\templates\yougrids\yjsgcore\ lib\yjsg_loadgrids.php on line 131

                  Strict Standards: Only variables should be assigned by reference in C:\xampp\htdocs\spacb\templates\yougrids\yjsgcore\ lib\yjsg_loadgrids.php on line 131
                  Bon je vais peut être changer de template, celui-ci étant une proposition. Il a le mérite d'être responsive design et compatible V3.x

                  Bonne journée

                  Commentaire


                  • #10
                    Re : Message erreur Strict Standards: Only variables should be assigned by reference

                    Bonjour,

                    Ces warning Stricts sont simples à corriger:

                    templates\yougrids\yjsgcore\ yjsg_core.php on line 42
                    Code PHP:
                    $document     JFactory::getDocument(); 
                    les autres sont également du même type, supprimer les esperluettes (&) inutiles.
                    Pas de demande de support par MP.
                    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

                    Commentaire


                    • #11
                      Re : Message erreur Strict Standards: Only variables should be assigned by reference

                      Salut,
                      Ben c'est ballot car le lien renvoi une erreur 404!

                      Comme en pédagogie ça fait pas de mal de répéter les choses :

                      Solution1
                      Dans l'admin, site > configuration > serveur > paramètres du serveur > rapport d'erreurs : aucun

                      Solution2
                      Créer un fichier texte. L’enregistrer sous le nom php.ini à la racine du site. Y ajouter ces 2 lignes :
                      error_reporting = E_ALL
                      display_errors = Off

                      Envoyé par SimonG Voir le message
                      Bonjour,

                      cette question est posée plusieurs fois par jour, une simple recherche sur le forum retourne des centaines de résultats. En attendant, tu peux lire cet article :
                      http://avonture.be/allevents/fr/error-reporting
                      Dernière édition par APWEB à 01/05/2014, 08h50
                      Accompagnateur de Projets WEB depuis 1995
                      Joomla! 3x Certified Administrator

                      Développeur Front-End à l'Observatoire Nice Côte d'Azur

                      Commentaire


                      • #12
                        Re : Message erreur Strict Standards: Only variables should be assigned by reference

                        Envoyé par APWEB Voir le message
                        Ben c'est ballot car le lien renvoi une erreur 404!
                        Ma faute, c'est un très ancien lien; j'ai adapté une variante du lien, pas celui-là. Je vais corriger.
                        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