Xdebug ne marche pas bien

Fermé
vadim_de_developpez Messages postés 6 Date d'inscription dimanche 10 juillet 2022 Statut Membre Dernière intervention 12 juillet 2022 - 10 juil. 2022 à 12:08
vadim_de_developpez Messages postés 6 Date d'inscription dimanche 10 juillet 2022 Statut Membre Dernière intervention 12 juillet 2022 - 12 juil. 2022 à 20:10

Bonjour,

J'ai installé la dernière version de Netbeans : (Netbeans 14), le dernier jdk-18.0.1.1 et Xdebug.

J'ai modifier le fichier php.ini de Apache et ceux de la version de PHP sous lequel je travaille (php7.4.26) je passerai à 8 après.

Pour déboguer, je dois d'abord lancer mon site depuis la page localhost, le déboguage ne se lance pas sinon.

Voici mon la section  Xdebug de mes fichiers php.ini

[xdebug]
;zend_extension=XDEBUG
zend_extension="c:/wamp/bin/php/php7.4.26/zend_ext/php_xdebug-3.1.5-7.4-vc15-x86_64.dll"
;xdebug.mode allowed are : off develop coverage debug gcstats profile trace
xdebug.mode =debug
xdebug.output_dir ="c:/wamp/tmp"
xdebug.show_local_vars=0
xdebug.log="c:/wamp/logs/xdebug.log"
xdebug.log_level=7
xdebug.use_compression=false
xdebug.profiler_output_name=trace.%H.%t.%p.cgrind
xdebug.client_host=localhost
xdebug.client_port=9003
xdebug.idekey="netbeans-xdebug"
xdebug.start_with_request=yes
;xdebug.discover_client_host=1
xdebug.remote_enable=1
xdebug.default_enable=0
xdebug.profiler_enable=0
xdebug.auto_trace=0
xdebug.coverage_enable=0

Je ne comprends pas pourquoi le débogueur ne se lance pas directement

Chose étrange : dbgpProxy.exe dit ceci : apparemment il n'écoute pas le port 9003, ce qui est indiqué si on a Xdebug 3

Xdebug DBGp proxy (0.3)
Copyright 2020 by Derick Rethans
10:02:17.685 [warn] [SSL] The 'certs/fullchain.pem' file could not be found, not enabling SSL listeners
10:02:17.698 [info] [server] Started server server on 127.0.0.1:9000
10:02:17.699 [info] [dbgpProxy] Proxy started
10:02:17.699 [info] [server] Started client server on 127.0.0.1:9001

Qu'elqu'un a t'il réussi à configurer correctement NetBeans 14 avec WampServer 2.3.9 et Xdebug?

Merci d'avance, je "galère" depuis une semaine

Vadim


Windows / Firefox 91.0

6 réponses

Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
11 juil. 2022 à 11:17

Bonjour,

Essaye de modifier le port défini pour xdebug dans les options de Netbeans (9003 à la place de 9000).

https://netbeans.apache.org/kb/docs/php/debugging.html

0
vadim_de_developpez Messages postés 6 Date d'inscription dimanche 10 juillet 2022 Statut Membre Dernière intervention 12 juillet 2022 1
12 juil. 2022 à 07:42

Oui, je l'avais déjà fait. J'ai mis 9003 dans Netbeans et tous les fichiers php.ini de wamp.

Je crains que cela vienne d'anciennes versions de wamp qui ont écrit des trucs dans le registre, et là ça devient compliqué.

0
vadim_de_developpez Messages postés 6 Date d'inscription dimanche 10 juillet 2022 Statut Membre Dernière intervention 12 juillet 2022 1
12 juil. 2022 à 15:54

Un peu étonnant qu'il n'y ait pratiquement aucune documentation sur Netbeans 14 avec WampServer 3.2.9 et xdebug dans ce cas de configuration (avec les dernières versions) A part des articles datant au plus de 2013-2015, il n'y a pratiquement rien du tout. Si je comprends bien, la seule solution est de "rétrograder vers ce qu existait en 2015.

0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
12 juil. 2022 à 18:09

Le fichier php.ini présent par défaut dans le dossier c:/wamp64/bin/php/php7.4.26 est le fichier de configuration utilisé par PHP lorsque celui-ci est exécuté en ligne de commande.

Pour consulter/déboguer ton site via ton navigateur, PHP n'est pas exécuté en ligne de commande mais via le serveur web Apache qui utilise un autre fichier de configuration pour php (phpForApache.ini)

Ouvre le fichier c:/wamp64/bin/php/php7.4.26/phpForApache.ini dans lequel tu devrais trouver la configuration par défaut pour xdebug tout en bas du fichier :

; XDEBUG Extension
[xdebug]
zend_extension="c:/wamp64/bin/php/php7.4.26/zend_ext/php_xdebug-3.1.1-7.4-vc15-x86_64.dll"
;xdebug.mode allowed are : off develop coverage debug gcstats profile trace
xdebug.mode =develop
xdebug.output_dir ="c:/wamp64/tmp"
xdebug.show_local_vars=0
xdebug.log="c:/wamp64/logs/xdebug.log"
xdebug.log_level=7

Essaye de le modifier comme ceci :

; XDEBUG Extension
[xdebug]
zend_extension="c:/wamp64/bin/php/php7.4.26/zend_ext/php_xdebug-3.1.1-7.4-vc15-x86_64.dll"
;xdebug.mode allowed are : off develop coverage debug gcstats profile trace
xdebug.mode=debug
xdebug.output_dir="c:/wamp64/tmp"
xdebug.show_local_vars=0
xdebug.log="c:/wamp64/logs/xdebug.log"
xdebug.log_level=7
xdebug.client_host=localhost
xdebug.client_port=9003
xdebug.idekey="netbeans-xdebug"

Puis redémarre WampServer et test le débogueur sur Netbeans avec les options par défaut (port 9003, session ID netbeans-xdebug).

0
vadim_de_developpez Messages postés 6 Date d'inscription dimanche 10 juillet 2022 Statut Membre Dernière intervention 12 juillet 2022 1
12 juil. 2022 à 18:37

Merci pour cette réponse.

J'ai appliqué les changements. Sauf que dans mon cas, j'ai renommé wamp64 en wamp tout court.

(Pourquoi ne mas vivre en 64 bits comme standard, alors que j'ai commencé sur le16 bits devenu obsolète)

Je vois que rien ne change, hélas. Pour que le débbogueur marche, je dois d'abord lancer mon appli PHP via localhost de Wamp.  Xdebug réagit, mais il y a plein de "bidouilles" connues de moi seul pour y arriver.

Et au départ, cela me renvoie sur mon site réel sur un hébergeur si je ne "bidouille" pas. En clair : ça marche pas :-(

Je crains des erreurs dans "regedit." Dans ce cas là : changer de machne(?)

En tout cas, merci pour cette réponse.

Vadim

P.S. Comme cela semble marcher de votre côté pouvez-vous me dire quelles sont les versions Wamp,Netbeans et Xdebug que vous utilisez? Je crois que mon idée de passer aux toutes dernières versions est réservée aux supers experts. ... hem, je n'en fais pas (ou plus) partie.

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
Modifié le 12 juil. 2022 à 19:24

Il ne me semble pas que WampServer modifie le registre Windows.

Pour tester de mon coté, j'ai désinstallé une ancienne version de WampServer et j'ai réinstallé aujourd'hui la dernière version de WampServer (3.2.6) et j'ai laissé toutes les options par défaut (php 7.4.26).
WampServer démarre correctement.

Sur la page phpinfo http://localhost/?php-info=-1 je constate que Xdebug 3.1.1 et OPcache 7.4.26 sont déjà activés (juste à gauche du logo zendengine) dès l'installation sans modifier aucun fichier de configuration.
La ligne "Loaded configuration file" permet de voir que le fichier php.ini utilisé par Apache est chargé depuis le dossier apache2.4.51 de wamp (qui est en fait un lien symbolique vers le fichier phpForApache.ini dans le dossier php7.4.26).

J'ai ensuite installé Netbeans 14 depuis le site officiel et j'ai créé un projet de type PHP Application dans un dossier c:/wamp64/www/projet-test dans lequel j'ai simplement créé un fichier index.php avec quelques lignes de code et un breakpoint. J'ai lancé une première fois le débogueur qui a bien ouvert mon navigateur à l'adresse http://localhost/project-test avec un paramètre X_DEBUG_SESSION_START=xdebug-netbeans, néanmoins il n'a pas pris en compte mon breakpoint. En stoppant le débogueur, Netbeans a détecté de lui-même que la session n'était pas correctement configurée et propose même de copier la configuration pour Xdebug 2 ou 3 en exemple.
J'ai donc modifié le fichier php7.4.26/phpForApache.ini comme indiqué dans mon précédent message et redémarré les services de Wamp, puis j'ai relancé le débogueur de Netbeans qui s'est alors bien arrêté sur mon breakpoint.

0
vadim_de_developpez Messages postés 6 Date d'inscription dimanche 10 juillet 2022 Statut Membre Dernière intervention 12 juillet 2022 1
12 juil. 2022 à 20:10

 Waow!

 Merci pour cette réponse qui signifie qu'utiliser Netbeans 14 n'est pas à l'origine du souci.

Vous avez exactement la même config que moi. Je vais essayer "X_DEBUG_SESSION_START=xdebug-netbeans"

Je pense que le problème de mon côté vient du fait que mon antivirus à mis le uninstall de Wamp en quarantaine

APANAS[trj]. Comme un c*** j'ai mis Wamp à la poubelle, vu qu'il ne répondait plus.

A partir de là, la base de registre n'a pas étée changée. D'où les soucis : "Ne JAMAIS installer une nouvelle version de Wamp sur une autre."

OK, le cas est un peu spécial. Soit je reinstalle tout sur ma machine et je ne dis pas le temps de sauvegarde ainsi que le risque de re-importer les virus sauvegardés. Soit j'en prends une autre plus ancienne et repart à zéro.
 

Merci pour ces tuyaux, je vous tiens au courant

 Vadim

0