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 :

Debugger un fichier php ?


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 7
    Par défaut Debugger un fichier php ?
    DBG ??? Comment l'installer
    http://dd.cron.ru/dbg/installation.php

    DBG 2.13.1 dbglistner
    DBG 2.13.1 dbg modules...

    Voilà je SUIS SOUS WINDOWS XP, je travaille donc avec le package php precompilé...

    J'utilise un simple editeur de texte, avec lequel je rédige mon script php.
    J'ai un serveur Xampp installé (Lamp pour windows) qui me permet "d'executer"
    mes scripts php dans le navigateur...dans lequel si le script est mal écrit, des messages d'erreur apparaissent.
    J'ai 3 questions :
    1. J'aimerai pouvoir debugguer mes scripts php à l'invite c:
    de la manière suivante :
    phpdebugger.exe script.php
    ...comme on le fait lorsqu'on "compile" des langages compilés, est-ce possible ?
    2. Sur le site de dbg, on download 2 packs, l'un contenant les dll correspondants aux différentes versions de php et l'autre au listener.
    Où installle-on les dll ??? (dans le dossier extensions (modules) du repertoire php de xampp) et comment fonctionne le listener ???
    3. J'utilise l'éditeur Crimson, l'objectif est d'y rédiger mes script php, et de les débugger avec les outils de l'éditeur : Chaque outil se définit suivant une commande (un fichier executable) et des arguments (le nom du fichier, son chemin et les options de débuggages). On obtient une sortie Output, qui marche très bien avec les outils de compilation (AS3 par exemple).
    Est-il possible donc de faire du débuggage de php dans crimson ?

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 7
    Par défaut php.exe !!!
    Donc en fait j'avais un conflit : lorsque j'ai cliqué sur php.exe, il ma indiqué un message d'erreur comme quoi il ne trouvait pas un dll : php_dbg.dll (je pense situé dans ke repertoire maguma workbench.
    Pourtant maguma workbench n'était plus installé.
    php.exe a du s'initialiser en variable global ("à la manière de java") cela reste un peu obscure...

    Donc ma procédure est la suivante avec crimson je realise mon script php
    que je débugge avec php.exe de xampp
    et j'obtiens l'output suivant :


    ---------- Capture Output ----------
    > "C:\xampp\php\php.exe" atom.php

    Warning: include(cfg.php): failed to open stream: No such file or directory in C:\xampp\htdocs\atom.php on line 23

    Warning: include(): Failed opening 'cfg.php' for inclusion (include_path='.;\xampp\php\pear\') in C:\xampp\htdocs\atom.php on line 23

    Fatal error: Call to undefined function selectSkin() in C:\xampp\htdocs\atom.php on line 27
    > Terminated with exit code 255.

    correspondant au script suivant :

    <?php
    header("Pragma: no-cache");
    include('cfg.php');
    if (!$CONF['DisableSite']) {
    // get feed into $feed
    ob_start();
    selectSkin('atom');
    selector();
    $feed = ob_get_contents();
    ob_end_clean();

    // create ETAG (hash of feed)
    // (HTTP_IF_NONE_MATCH has quotes around it)
    $eTag = '"'.md5($feed).'"';
    header('Etag: '.$eTag);

    // compare Etag to what we got
    if ($eTag == serverVar('HTTP_IF_NONE_MATCH')) {
    header("HTTP/1.0 304 Not Modified");
    header('Content-Length: 0');
    } else {
    // dump feed
    echo $feed;
    }
    }
    ?>
    Si il est possible d'avoir des options de débuggage, je suis preneur

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 7
    Par défaut
    J'ai trouvé quelques options de debuggage sur ce site
    http://webdocs.math.univ-rennes1.fr/...mmandline.html


    Je débug le fichier index.php de xampp :

    <?php
    if (!empty($_SERVER['HTTPS']) && ('on' == $_SERVER['HTTPS'])) {
    $uri = 'https://';
    } else {
    $uri = 'http://' ;
    }
    $uri .= $_SERVER['HTTP_HOST'];
    heaer('Location: '.$uri.'/xampp/');
    exit;
    ?>



    mais avec l'option -c càd "Look for php.ini file in this directory"
    j'ai le message suivant :

    Error parsing index.php on line 2
    Pourquoi ?

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 7
    Par défaut DBG donc !
    http://dd.cron.ru/dbg/installation.php

    Configuring server part:
    copy php_dbg.dll (win32) or dbg.so (linux) into appropriate directory. Read PHP documentation on how to install PHP extension.
    add extension=php_dbg.dll (win32) or extension=dbg.so (linux) entry into php.ini file.
    enable debugger: find and edit (or add new) following entries in the php.ini file:
    [debugger]
    debugger.enabled = true
    debugger.profiler_enabled = true
    debugger.JIT_host = clienthost
    debugger.JIT_port = 7869
    note that clienthost is a keyword for DBG. If you use it, DBG will automatically detect IP of each client.
    run <? phpinfo(); ?> script just to make sure dbg extension is working properly. You will see following message in the header:

    with DBG v2.11.30, (C) 2000,2004 by Dmitri Dmitrienko, http://dd.cron.ruand appropriately formed dbg section.
    Donc j'effectue les opération suivantes sur le fichier php.ini situé dans le reperotoire c:/xampp/apache/bin/php.ini

    ....
    ;extension=php_dbase.dll
    extension=php_dbg.dll
    ;extension=php_dbx.dll
    ;extension=php_dio.dllµ
    ...

    [debugger]
    extension=php_dbg.dll
    debugger.enabled=on
    debugger.profiler_enabled=on
    debugger.hosts_allow=host1 host2
    debugger.hosts_deny=ALL
    debugger.ports=7869, 10000/16


    Mais j'ai le message d'erreur suivant lorsque je lance xampp :

    apache.exe -Point d'entrée introuvable
    Le point d'entrée de procédure _zval_dtor est introuvable dans la bibliothèque de liaison dynamique php5ts.dll
    OK

    PHP Startup: Unable to load dynamic library 'c:\xampp\php\ext\php_dbg.dll' -la procédure spécifiée est introuvable.

    Une idée

    j'ai copié le fichier php_dbg dans les 2 repertoires extensions et ext...

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 7
    Par défaut
    Voilà
    donc

    les lignes ajoutés au fichier php.ini sont le suivantes

    :
    extension=php_dbg.dll

    [debugger]
    debugger.enabled = true
    debugger.profiler_enabled = true
    debugger.JIT_host = clienthost
    debugger.JIT_port = 7869

    Mais surtout j'ai changé la version du fichier php_dll pour qu'elle corresponde
    à la version php de xampp càd 5.1 et ça marche.

    reste à faire fonctioner le client...

    debugger avec ou sans dbg, je vois pas la différence si quelqu'un à un exemple.

    DBG listener is running
    je lance un fichier php en localhost avec une erreur ...rien ! (d'extraordinaire)

Discussions similaires

  1. Conversion d un fichier php en ini
    Par gilles641 dans le forum Langage
    Réponses: 1
    Dernier message: 09/08/2005, 16h54
  2. Ouvrir un fichier.php d'une ihm
    Par Shandler dans le forum MFC
    Réponses: 3
    Dernier message: 02/05/2005, 14h00
  3. Réponses: 2
    Dernier message: 19/08/2004, 17h12
  4. où se trouve le fichier php.ini ?
    Par teko dans le forum Apache
    Réponses: 5
    Dernier message: 28/07/2004, 12h39

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