|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Expert Confirmé
![]() Développeur informatique Inscription : février 2005 Messages : 2 982 ![]() |
Il y a une extension assez utile pour savoir pour pouvoir traquer les zones à optimiser. Cette extension c'est Xdebug. Celui-ci permet de connaitre avec beaucoup de précision les détails d'execution de script en plus, lorsqu'il y a une erreur de script elle donne plus de détails que le simple "parse error".
Voici la procédure d'installation :
J'ai oublié de précisez qu'apparement celui-ci ne fonctionne que sur les serveurs Apache. Sur IIS ça n'a pas l'air de fonctionner.
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !... |
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : juin 2003 Messages : 4 893 ![]() |
Est ce que tu as plus de détails sur la license ? elle est à l'adresse suivante mais en anglais donc je suis pas bien placé pour dire si c'est proche du libre ou non
http://www.xdebug.org/license.php par contre pour WinCachGrind et KCacheGrind j'ai trouvé : ils sont sous licence GPL
__________________
Modérateur PHP |
|
|
00
|
|
|
#3 | |
|
Expert Confirmé
![]() Développeur informatique Inscription : février 2005 Messages : 2 982 ![]() |
Citation:
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !... |
|
|
|
00
|
|
|
#4 |
![]() ![]() Inscription : juin 2003 Messages : 4 893 ![]() |
c'est sympa alors
merci pour ta contribution
__________________
Modérateur PHP |
|
|
00
|
|
|
#5 |
|
Expert Confirmé
![]() Développeur informatique Inscription : février 2005 Messages : 2 982 ![]() |
De rien, je pense que ça va en servir à plus d'un
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !... |
|
|
00
|
|
|
#6 |
|
Membre chevronné
![]() Inscription : décembre 2005 Messages : 766 ![]() |
Je m'en sers depuis un peu plus d'un an et franchement c'est de la bombe pour... le profiling/optimisation du code, le coverage y a pas mieux... seul hic elle n'est pas compatible avec le zend optimiser mais sur un serveur de dev c'est pas bien grave... .. .
@ tchaOo° |
|
|
00
|
|
|
#7 |
|
Membre actif
![]() Inscription : juillet 2003 Messages : 257 ![]() |
merci bcp berceker united pour ton message. Je connaissais pas cette bibliotheque avant (ca ne fait pas longtemps que je fais du php non plus) mais la je l'ai installé, et elle est très utile
|
|
|
00
|
|
|
#8 |
|
Expert Confirmé
![]() Développeur informatique Inscription : février 2005 Messages : 2 982 ![]() |
de rien.
Petit précision. A ne pas utiliser sur une serveur de prod j'ai constaté quelques lenteur.
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !... |
|
|
00
|
|
|
#9 |
![]() ![]() Jean-Pierre Inscription : août 2005 Messages : 333 ![]() |
Ouais très sympa comme extension pour le profiling, en plus elle ajoute une coloration syntaxique pour les var_dump()
|
|
|
00
|
|
|
#10 |
|
Expert Confirmé
![]() Développeur informatique Inscription : février 2005 Messages : 2 982 ![]() |
Concernant les temps affiché, elle ne révèle pas réellement la réalité. C'est très difficile d'estimer le temps. Donc il ne faut pas avoir peur concernant le temps affiché. Néanmoins, cela donne juste une estimation et un rapport de temps entre deux fichiers et voir les zones plus gourmandes.
La gourmandise n'est pas la même chose que la voracité. La gourmandise : C'est par exemple la connexion a un fichier, db, ... c'est naturelement gourmand car c'est un system exterieur donc php attend. Voracité : C'est par exemple une boucle qui tourne inutilement. Vous voulez tester la présence d'un mot dans un tableau donc il y a for ou un while et dans cette boucle il y a if. Lorsqu'on rentre dans le if bien souvent certain laisse la boucle se terminer alors qu'il aurait fallut placer un break pour sortir de la boucle. Concernant l'exemple si c'est un tableau à une dimension in_array() permet de faire du light
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !... |
|
|
00
|
|
|
#11 |
|
Nouveau Membre du Club
![]() Inscription : octobre 2007 Messages : 95 ![]() |
Bonjour,
Je viens de parcourir cet article et il me semble très interessant. J'ai suivi la procédure pour installation et cela ne me donne rien. Je suis un peu bourrin. Où doit-on placer les lignes dans le php.ini plus exactement dans quelle section []? Ou peut-on les ajouter en fin du php.ini comme je l'ai fait puisque dans la théorie les sections sont ignorées. Doit-on mettre "zend.ze1_compatibility_mode = Off" à ON même en étant sous PHP5 Le répertoire C:\HTTP\php\temp doit-il être créé au préalable ou la dll le créera automatiquement Enfin lorsque je lance mon phpinfo() dans quelle rubrique je vois si xdebug a été détecté. sagit-il du debug build Merci de m'éclairer car j'ai grandement besoin d'optimiser mes scripts. |
|
|
00
|
|
|
#12 | |||
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Salut
Citation:
Citation:
Pense que si l'extension doit vérifier à chaque chargement si elle doit créer le répertoire, c'est une perte inutile de ressources. La configuration du php.ini doit correspondre à un système en état de marche. Citation:
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|||
|
|
00
|
|
|
#13 |
|
Nouveau Membre du Club
![]() Inscription : octobre 2007 Messages : 95 ![]() |
Ok il semble que tout est correctement en place et pourtant je n'ai aucun fichier cachegrind.out.xxx dans le répertoire temp et dans mon phpinfo je ne vois nul part de xdebug.
D'autre part je ne comprends pas ta réponse : J'imagine que la fonction "Ctrl+F" existe dans ton navigateur ? A quoi fais-tu allusion? Pour info l'extension que j'ai installée se nomme php_xdebug-2.0.2-5.2.5.dll |
|
|
00
|
|
|
#14 | |
![]() ![]() Jean-Pierre Inscription : août 2005 Messages : 333 ![]() |
Citation:
As-tu activé explicitement l'extension Xdebug dans ton php.ini ? Je précise que ton php_xdebug-2.0.2-5.2.5.dll doit être renommé en conséquence php_xdebug.dll. Je précise aussi que cette étape n'a pas été mentionnée dans la procédure d'installation ci-dessus
__________________
Mes articles DVP : http://jp-grossglauser.developpez.com |
|
|
|
00
|
|
|
#15 |
|
Nouveau Membre du Club
![]() Inscription : octobre 2007 Messages : 95 ![]() |
Merci.
J'avais bien renommé l'extension mais oublié de l'activer dans le php.ini Donc maintenant j'ai bien le Xdebug dans phpinfo. Mon répertoire temporaire est bien créé mais je n'ai toujours pas de fichier cachegrind.out.xxx qu'est-ce que j'ai bien pu encore oublier? (si je n'abuse pas trop) |
|
|
00
|
|
|
#16 | |
|
Expert Confirmé
![]() Développeur informatique Inscription : février 2005 Messages : 2 982 ![]() |
Citation:
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !... |
|
|
|
00
|
|
|
#17 | ||
![]() ![]() Jean-Pierre Inscription : août 2005 Messages : 333 ![]() |
Chez moi ces quelques lignes de config suffisent à faire fonctionner le profiler de xdebug (à ajouter à la fin du fichier php.ini) :
Code :
__________________
Mes articles DVP : http://jp-grossglauser.developpez.com |
||
|
|
00
|
|
|
#18 |
|
Nouveau Membre du Club
![]() Inscription : octobre 2007 Messages : 95 ![]() |
Merci à vous çà fonctionne enfin. Pour cela j'ai viré du php.ini la ligne :
zend_extension_ts = "c:/http/php/ext/php_xdebug.dll" Tout va donc bien je vais pouvoir je l'espère paufiner mes scripts Encore merci |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com