Aide pour déboguer un script php

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

  • [RÉGLÉ] Aide pour déboguer un script php

    Mon environnement : J 3.8.6, php7

    Je viens d'écrire un script personnel, à l'intérieur d'un article dédié et encadré par les balises du plugin "sourcerer".

    Code HTML:
    {source}
    .... mon script ...
    {/source}
    J'ai l'habitude de pratiquer ainsi, et sans problème particulier.
    Mais lorsque je sollicite dans Joomla l'enregistrement de cet article, il me répond :

    Code HTML:
    syntax error, unexpected '<'
    /var/www/html/nom_site/plugins/content/DirectPHP/DirectPHP.php(58) : eval()'d code:365
    J'ai tout tenté pour essayer de détecter cette erreur d'écriture, et sans résultat apparent. Et je regrette de ne pas recevoir le n° de ligne qui serait la source de cette erreur.
    Et j'avoue humblement ne pas bien interpréter ce message d'erreur (dans la seconde ligne).

    Merci pour votre aide.

  • #2
    Bonjour,

    Il te dit que l'erreur provient de la ligne 58 du fichier DirectPHP.php.
    Le problème c'est que c'est une fonction eval, donc l'erreur provient du code dans la fonction eval.

    Si tu peux nous mettre en copie ton code, on pourrai peut être voir l'erreur.

    Commentaire


    • #3
      Merci fabrice4821.
      Je n'utilise pas cette fonction, tout au plus j'ai cette évaluation :

      Code PHP:
      $heure_min strval(intval(substr($choix_heure,0,2)) - 1) . substr($choix_heure,2,3); 
      où $choix_heure est une chaîne de 5 caractères sructurée ainsi : hh:mm, et à laquelle je défalque une heure (avec vérif suivante pour ne pas être en négatif sur le nb d'heures).
      ps : j'utilise la même instruction dans d'autres scripts, à l'identique et sans rencontrer un problème !

      Envoyé par fabrice4821 Voir le message
      Si tu peux nous mettre en copie ton code, on pourrait peut être voir l'erreur.
      C'est très gentil ... mais mon script fait plus de 400 lignes, alors je vous évite ce pensum !
      Dernière édition par Visiteur à 30/05/2018, 09h25

      Commentaire


      • #4
        Je ne dit pas que tu utilises la fonction eval, je dis que ton plugin "sourcerer" utilise cette commande pour traiter ton code php.
        Il doit récupérer le code entre tes balises "source" et il fait un eval de ce code pour le traiter.
        Tout ton code étant traité en une seule fois, a ma connaissance, il n'y a pas de solution pour trouver la ligne en défaut.

        La solution serait peut être que tu copies ton code dans un fichier php et que l'exécute directement.
        ZerooCool aime ceci.

        Commentaire


        • #5
          J'ai copié ce script dans un fichier x.php, placé à la racine du site et sans les balises de sourcerer. Quand je tente son exécution, j'ai le message "erreur serveur n° 500".

          Dernière édition par Visiteur à 30/05/2018, 13h00

          Commentaire


          • #6
            Salut,,
            il n'y a pas de plugin "content" dans Sourcerer, que des plugins "system" ou "editor-xtd".

            /var/www/html/nom_site/plugins/content/DirectPHP/DirectPHP.php(58) : eval()'d code:365
            Ceci est une erreur liée au plugin DirectPHP de KKSou:
            This joomla mambot/plugin allows direct embedding of PHP commands right inside Joomla content page for dynamic contents

            pas updaté depuis un moment.

            Tu devrais le désinstaller puisqu'il semble créer des conflits avec Sourcerer (de regularlabs.com).
            A mon avis, Sourcerer est plus fiable que DirectPHP.
            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
              Envoyé par ghazal Voir le message

              Tu devrais le désinstaller puisqu'il semble créer des conflits avec Sourcerer (de regularlabs.com).
              A mon avis, Sourcerer est plus fiable que DirectPHP.
              Merci Ghazal. Ton conseil est judicieux, je peux enregistrer mon script normalement désormais !
              Dernière édition par lesoutier à 30/05/2018, 13h16

              Commentaire

              Annonce

              Réduire
              Aucune annonce pour le moment.

              Partenaire de l'association

              Réduire

              Hébergeur Web PlanetHoster
              Travaille ...
              X