IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

EDI, CMS, Outils, Scripts et API PHP Discussion :

Debugguer du code PHP


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre régulier
    Inscrit en
    Septembre 2002
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 200
    Points : 120
    Points
    120
    Par défaut Debugguer du code PHP
    Bonjour à tous, j'ai une petite question car je ne sais absolument pas comment m'y prendre à ce sujet.
    Je fais parti d'un projet à trois composants:
    1) Un téléphone android qui envoie des infos HTTP à un serveur Apache2 ayant PHP
    2) ce serveur qui interprete du code PHP et qui sert de relai pour executer des requetes vers un process C++
    3) Le process C++ (sur un serveur déporté) qui execute des requetes et envoie des notifs au serveur relai.

    Bref, ceci pour dire, simplement:
    A des fin de tests, le téléphone va donc faire un HTTPRequest avec une de mes pages PHP (qui n'ont rien de graphique).
    Je suis chez moi, et je suis le serveur. Comment faire pour debugger mon code PHP ?

    A savoir: le mec me fait une requete qui utilise ma page toto.php, avec des arguments fournis en POST, et moi je voudrais voir qu'à distance il execute mon script, et voir le résultat de certaines variables, pour savoir si je fais bien le relai vers l'autre serveur.

    Pouvez vous m'aider ?

    Merci.

  2. #2
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Bonjour,

    Tu peux par exemple utiliser XDebug. http://xdebug.org/
    Par contre évidemment ca bloque l'execution le temps du debugging.

    Plus simplement, tu pourrais utiliser un fichier un fichier dans lequel tu logs les évenements. Ensuite tu n'as plus qu'à ouvrir ce fichier pour voir ce qui s'est passé.

  3. #3
    Membre régulier
    Inscrit en
    Septembre 2002
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 200
    Points : 120
    Points
    120
    Par défaut
    Merci pour Xdebug que je ne connaissais pas.
    Après une brève lecture, et aux vues de mes besoins, il permettrait effectivement de debuguer mon code php, mais une chose que je ne comprends pas:

    Quand je lance moi meme ma page PHP, en localhost, Xdebug doit donc m'afficher le résultat dans une nouvelle page de mon navigateur ?
    Et ceci parce que je fais moi meme la requete.
    Mais en cas de requete distante, par mon téléphone, comment suis-je censé "capter" les traces, affichage des valeurs de variables, piles d'appel dans le code que j'ai instrumenté ?

    Après, ton idée de tout tracer vers un fichier texte est bonne car là au moins dès qu'une appli distante execute mon script, j'ai mes rapports dans un .txt. Mais comme Xdebug à l'air sympa et bien présenté, je voudrais savoir comment faire avec lui.

    Merci pour l'aide.

  4. #4
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Xdebug n'affiche pas le résultat dans ta page web, tu débogues réellement le code. C'est à dire que tu mets des points d'arrêt, puis t'appuis sur les touches pour déboguer pas à pas etc. et l'éxécution du script est bloquée le temps que tu débugues (le code est éxécuté petit à petit).

    En fait qu'importes l'endroit d'où tu envoies ta requête, le principe du HTTP est que la requête est toujours distante (principe client serveur). Le serveur reçoit la requête, bloque l’exécution à l'endroit où tu as mis tes points d'arrêts etc... Comme dans Visual Studio par exemple.
    Tu peux jeter un oeil aux différents clients Xdebug (les logiciels qu'il faut utiliser pour déboguer pas à pas) : http://xdebug.org/docs/remote

  5. #5
    Membre régulier
    Inscrit en
    Septembre 2002
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 200
    Points : 120
    Points
    120
    Par défaut
    Merci pour l'aide.
    Dans ce cas je vais passer par ce systeme.

    A plus.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Transcrire code PHP dans une DLL
    Par LEK dans le forum C++
    Réponses: 16
    Dernier message: 26/09/2005, 14h17
  2. Mettre un code php dans une variable...
    Par kedare dans le forum Langage
    Réponses: 6
    Dernier message: 19/09/2005, 12h55
  3. [Conception] Code php dans une base de donnée
    Par krfa1 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 13/09/2005, 10h58
  4. pb eval pour le code php dans une feuille xslt
    Par nipepsi dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 10/09/2004, 11h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo