Précédent   Forum des professionnels en informatique > PHP > Outils
Outils Forum d'entraide sur les outils pour développeurs PHP : EDI, installation, administration... Avant de poster : FAQ outils, toutes les FAQ PHP et les comparatifs
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/06/2006, 18h22   #1
Invité de passage
 
Inscription : septembre 2004
Messages : 7
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 7
Points : 2
Points : 2
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 ?
steveosteen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/06/2006, 00h27   #2
Invité de passage
 
Inscription : septembre 2004
Messages : 7
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 7
Points : 2
Points : 2
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 :


Citation:
---------- 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 :

Citation:
<?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
steveosteen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/06/2006, 00h53   #3
Invité de passage
 
Inscription : septembre 2004
Messages : 7
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 7
Points : 2
Points : 2
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 :
Citation:

<?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 :

Citation:
Error parsing index.php on line 2
Pourquoi ?
steveosteen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/06/2006, 01h43   #4
Invité de passage
 
Inscription : septembre 2004
Messages : 7
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 7
Points : 2
Points : 2
Par défaut DBG donc !

http://dd.cron.ru/dbg/installation.php

Citation:
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...
steveosteen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/06/2006, 02h04   #5
Invité de passage
 
Inscription : septembre 2004
Messages : 7
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 7
Points : 2
Points : 2
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)
steveosteen est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h46.


 
 
 
 
Partenaires

Hébergement Web