web-dev-qa-db-fra.com

Configuration Atom + Xdebug

J'essaie de configurer Xdebug parce que j'en ai assez des échos et des var_dumps . J'utilise Atom comme IDE avec le plugin php-debug . Je suis en utilisant le laravel Homestead vm comme serveur. le port transféré 9000 à 9999 Atom a le plug-in installé avec les paramètres suivants:  enter image description here

J'ai défini un point d'arrêt dans Atom, je navigue sur ma page, mais le point d'arrêt ne déclenche pas… .. J'ai l'impression qu'il a quelque chose à voir avec la touche IDE mais je ne sais pas comment procéder. .  enter image description here

Est-ce que quelqu'un connaît la clé IDE pour atome? Ou y a-t-il autre chose qui me manque?

edit: J'ai ajouté ce qui suit à xdebug.ini:

xdebug.auto_trace = 0
xdebug.collect_includes = 1
xdebug.collect_params = 1
xdebug.collect_return = 0
xdebug.collect_vars = "Off"
xdebug.default_enable = "On"
xdebug.dump.COOKIE = ""
xdebug.dump.FILES = ""
xdebug.dump.GET = ""
xdebug.dump.POST = ""
xdebug.dump.REQUEST = ""
xdebug.dump.SERVER = ""
xdebug.dump.SESSION = ""
xdebug.dump_globals = 1
xdebug.dump_once = 1
xdebug.dump_undefined = 0
xdebug.extended_info = 1
xdebug.file_link_format = ""
xdebug.idekey = "VVVDEBUG"
xdebug.manual_url = "http://www.php.net"
xdebug.max_nesting_level = 100
xdebug.overload_var_dump = 1
xdebug.profiler_append = 0
xdebug.profiler_enable = 0
xdebug.profiler_enable_trigger = 1
xdebug.profiler_output_dir = "/tmp"
xdebug.profiler_output_name = "cachegrind.out.%t-%s"
xdebug.remote_autostart = 1
xdebug.remote_enable = 1
xdebug.remote_handler = "dbgp"
xdebug.remote_Host = "192.168.50.1"
xdebug.remote_log = /srv/log/xdebug-remote.log
xdebug.remote_mode = "req"
xdebug.remote_port = 9000
xdebug.show_exception_trace = 0
xdebug.show_local_vars = 0
xdebug.show_mem_delta = 0
xdebug.trace_format = 0
xdebug.trace_options = 0
xdebug.trace_output_dir = "/tmp"
xdebug.trace_output_name = "trace.%c"
xdebug.var_display_max_children = -1
xdebug.var_display_max_data = -1
xdebug.var_display_max_depth = -1
20
SnelleJelle

Comme @ sparkos72 , la clé atomique xdebug.atom fonctionne pour moi sur Ubuntu 16.04 et Debian 7 :-). J'essaie d'étendre leur réponse.

J'ai utilisé l'extension php-debug atom avec cette configuration dans xdebug.ini (chemin: /etc/php5/Apache2/conf.d/xdebug.ini).

xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_Host=172.17.0.1
xdebug.remote_port=9000
xdebug.idekey=xdebug.atom
xdebug.remote_autostart=true

J'ai un conteneur docker avec Debian 7 + Apache + PHP 5, c'est la raison parce que j'utilise ip 172.17.0.1 au lieu de 127.0.0.1. Ma "vraie" machine est une Ubuntu.

J'espère que ça aide.

5
mrroot5

La clé IDE est xdebug.atom pour moi (mac/Apache). Dans la configuration php-debug Atom, définissez le port du serveur sur 9000

1
sparkos72

La clé IDE est xdebug-atom pour moi sur PHP3.2 + ATOM + XAMPP + XDEBUG Helper, recommandant vivement d'utiliser XDEBUG Helper, vous pouvez y définir la clé IDE.

0
Leon

Je sais qu'il est tard mais encore une fois:

Votre fichier .ini a ceci:

xdebug.idekey = "VVVDEBUG"

ce qui signifie que vous devez définir la valeur "VVVDEBUG" (sans les guillemets) dans les paramètres d'extension "The Easiest Xdebug" où vous utilisez "Atom"

0
Binod

Aucune des réponses ne fonctionnait pour moi, alors je pars une des miennes.

Installer

  • Assurez-vous que xdebug est activé. Sudo phpenmod xdebug ou équivalent
  • Assurez-vous que xdebug est correctement configuré:
    • xdebug.remote_enable = 1
    • xdebug.remote_handler = dbgp
    • xdebug.remote_mode = req
    • xdebug.remote_Host = 172.17.0.1 (selon votre configuration)
    • xdebug.remote_port = 9000 (selon votre configuration)
  • Xdebug.remote_autostart n'a pas été utilisé car il lance le processus de débogage même pour les demandes normales. Ainsi, même si vous n'êtes pas en mode débogage pour l'extension Chrome/Firefox, une tentative de transmission des données de débogage sera effectuée, ce qui pourrait ralentir les choses sans aucune raison.
  • Installez l'extension Xdebug chrome/firefox et configurez la clé IDE en tant que xdebug-atom (j'ai trouvé que xdebug.atom fonctionnait également).

Débogage

Quand vous voulez réellement déboguer quelque chose,

  • Ajouter un point d'arrêt où vous voulez dans votre code; Alt + F9 ou équivalent.
  • Ouvrez le panneau PHP Debug dans Atom; Ctrl + Alt + D ou équivalent. Si vous utilisez certaines versions d’Ubuntu, vous pouvez modifier le raccourci Ctrl + Alt + D qui pourrait jouer le rôle de Show Desktop. Dans ce cas, cliquez sur le bouton PHP Debug dans IDE pour basculer le débogueur.
  • Le débogueur devrait dire quelque chose comme Listening to the port 9000 ou le port que vous avez configuré dans les paramètres de débogage PHP.
  • Ouvrez la page que vous souhaitez déboguer dans votre navigateur (si ce n'est déjà fait) et cliquez sur l'icône de l'extension de débogage pour activer le mode Debug. Cela crée en fait un cookie dans votre document comme XDEBUG_SESSION=xdebug-atom, etc.
  • Une fois que l'extension de débogage est activée, actualisez la page et vous devriez pouvoir utiliser le débogueur (si tout s'est bien passé).

J'espère que cela t'aides. Il a fallu du temps pour que cela fonctionne. Maintenant, je n'ai pas à acheter PHP Storm!

0
Jigar Mehta