web-dev-qa-db-fra.com

Procédure d'installation de PHPStorm + XDebug

Jusqu'à récemment, j'ai écrit du code dans PHP (via Notepad ++) et débogué en vérifiant les journaux dans IIS (je dois aimer ce programme d'installation de la plate-forme Web); J'ai depuis décidé de passer à un environnement de test/écriture de code plus efficace, et après avoir joué pendant plusieurs instants avec PHPStorm, j'ai décidé de l'acheter et de l'essayer. Depuis lors, j'ai réalisé qu'en ce qui concerne les tutoriels et les procédures pas à pas, PHPStorm est un peu court. Après avoir jeté un coup d'œil au manuel (RTFM, je sais) et avoir envie, je voudrais demander si quelqu'un voudrait me tenir la main pendant la configuration de PHPStorm avec XDebug afin que je puisse arrêter de me détester pour ne pas avoir étudié le systèmes sous-jacents assez bien, et revenir au codage.

TLDR; Quelqu'un pourrait-il publier une procédure détaillée pour la configuration de PHPStorm + XDebug? Supposons un niveau maximal de stupidité de ma part (je suis généralement plus que capable dans le monde ASP.NET, mais j'approche du niveau d'intelligence généralement associé à certaines formes d'éponge de navigation dans le monde PHP ).

L'environnement est Windows 7 Ultimate (64 bits) avec IIS & PHP installé.

41
user978122

Il est vraiment simple de faire fonctionner Xdebug avec PhpStorm, juste suivez attentivement ce guide . ( REMARQUE: La version mise à jour du guide est ici )

Pour des sujets plus avancés lire ceci .

17
CrazyCoder

J'ai trouvé une solution plus moderne et plus facile basée partiellement sur le post de CrasyCoder. Les étapes à suivre sont les suivantes:

  1. Si votre toute nouvelle installation php ne contient pas php.ini, renommez le développement php.ini en php.ini
  2. Installez xdebug à l'aide de l'assistant: http://xdebug.org/wizard.php Suivez littéralement ses recommandations.
  3. Mettez dans votre php.ini la chaîne: xdebug.remote_enable = 1
  4. Allez dans les paramètres de PhpStorm: paramètres-> php. Sélectionnez ou resélectionnez le répertoire contenant php. Assurez-vous de voir la chaîne "Debugger: Xdebug x.x.x" (où x.x.x représente la version installée)
  5. Installez une extension pour votre navigateur préféré à partir d'ici: http://xdebug.org/docs/remote
  6. Dans le menu principal (pas dans la fenêtre des paramètres), allez dans "Exécuter-> Modifier les configurations" et ajoutez une nouvelle configuration "Serveur Web intégré PHP". Pointez la "racine du document" vers le répertoire de votre projet. Notez le numéro de port.
  7. Navigateur Chrome: activez l'extension en appuyant sur le petit bug à l'extrême droite de l'omnibox et en sélectionnant l'option Debug. Les extensions des autres navigateurs devraient fonctionner de la même manière.
  8. Dans le menu de PhpStorm, activez l'option 'Exécuter -> Démarrer l'écoute pour PHP Déboguer les connexions').
  9. Définissez un point d'arrêt dans votre code dans PhpStorm.
  10. Exécutez (pas déboguez) la configuration que vous avez créée à l'étape 6.
  11. Dans votre navigateur, accédez à localhost: port où "port" est le port de l'étape 6. Votre PhpStorm devrait s'arrêter sur le point d'arrêt et vous pouvez commencer à éliminer les bogues dans votre code.

Étant donné que:

Pas 1-5 sont effectués une fois par installation php.
Étape 6 est effectué une fois par projet PhpStorm.
Pas 7-8 sont effectués une fois par session de débogage.
Pas 9-11 sont exécutés à chaque programme.

32
Evgeny Lukianchikov

J'ai eu pas mal de problèmes lorsque j'ai touché le débogage à distance de XDebug la première fois hier.

Quelques conseils généraux, vous êtes de toute façon débordé de divers tutoriels et guides.

  • Votre configuration XDebug côté PHP/Aache:
    xdebug.remote_enable = 1
    xdebug.remote_port = 9000
    xdebug.idekey = PHPSTORM
    xdebug.remote_connect_back = 1
  • Vous devez soit utiliser remote_connect_back comme indiqué ci-dessus (attention, cela signifie que d'autres personnes peuvent également déboguer votre serveur pendant qu'il est activé) ou vous spécifiez votre adresse IP (remote_Host).
  • Côté client, vous devez faire en sorte que votre routeur transfère le port 9000!
  • Vous devez autoriser PHPStorm pour les connexions entrantes dans votre pare-feu (n'était pas activé par défaut sur Windows 8 pour moi). Ouvrez le port 9000 ou l'application elle-même.
  • Sur PHPStorm assurez-vous d'entrer dans la configuration de débogage et de ne pas utiliser le débogage par défaut (PHPUnit!) Utilisez "PHP remote debug" (Configurations Run/Debug -> Le signe PLUS en haut à gauche)
  • Vous devrez indiquer à PHPStorm le chemin absolu de votre projet sur le serveur Web, si vous faites une erreur ici (et oubliez cela), vous obtiendrez quand même une invite.
  • Maintenant, déboguez votre projet dans PHPStorm tout en ayant activé "Écouter les connexions" et mettez un point d'arrêt dans votre code.
  • Avec votre navigateur Web, ouvrez votre site Web/fichier php tout en ayant activé un cookie qui démarre le débogueur. (le cookie est la meilleure approche dans la plupart des cas). Vous pouvez utiliser un signet (google for phpstorm debugging bookmark) ou une extension.

Même en suivant les guides, j'ai raté plusieurs des points ci-dessus. J'espère pouvoir économiser quelques heures de lutte :)

9
John

1. installez le module xdebug (étapes d'installation MAC)
1.1.1. vérifier ce que PHP version u r en utilisant php --ini (voir le fichier chargé)
1.1.2. brew search xdebug
1.1.3. installation de l'infusion phpXX-xdebug
1.1.4. voir les détails: php -i | grep xdebug
1.2. redémarrer le serveur
1.3. configuration
1.3.1. Sudo find /usr -name 'xdebug.so'
1.3.2. copiez le chemin de celui dont vous avez besoin
example: /usr/local/Cellar/php56-xdebug/2.3.2/xdebug.so
1.3.3. éditez le fichier de configuration lié à l'extension qui devrait être injecté automatiquement dans le php.ini principal:
subl /usr/local/etc/php/5.6/conf.d/ext-xdebug.ini
1.3.4. ajouter le zend_extension to be = le chemin copié ci-dessus

 [xdebug]  
 zend_extension="/usr/local/Cellar/php56-xdebug/2.3.2/xdebug.so"

Le fichier normal devrait avoir quelque chose comme ceci:

[xdebug]
zend_extension="/usr/local/Cellar/php56/5.6.4/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so"


xdebug.remote_enable=1
xdebug.remote_Host=localhost
xdebug.remote_port=9000
xdebug.remote_handler="dbgp"
xdebug.remote_autostart=1
xdebug.profiler_enable=1
xdebug.profiler_output_dir="~/xdebug/phpstorm/tmp"
xdebug.idekey=PHPSTORM

2. vérifiez votre PHP
php --ini
. configurez les paramètres IDE
préférence> langues et framework> PHP>
3.1. définir le niveau de langue sur la bonne version PHP de ce projet
3.2. définir un interpréteur (définir le répertoire parent où le répertoire bin de PHP est chargé)
3.2.1. cliquez sur le bouton…> cliquez sur le bouton +> autre local> set PHP Chemin excitable,
pour trouver le type de chemin dans le terminal: $ which php
example: /usr/local/Cellar/php56/5.6.5/bin/php
4. redémarrer phpstorm
5. Maintenant, faisons-le fonctionner
5.1. exécuter> modifier la configuration> cliquer sur le bouton vert + à gauche> sélectionner b. application web php
5.2. nom: n'importe quoi exemple ur {nom de l'application - débogueur}
5.3. serveur: localhost (parcourir> +> nom: n'importe quoi | Hôte: localhost ou 127.0.0.1)
5.4. cliquez sur OK
5.5. start url: le lien de la page d'accueil de votre projet: http://127.0.0.1:80/SomethingNew/
5.6. cliquez sur OK
6. définissez maintenant le point d'arrêt et cliquez sur déboguer

9
Mahmoud Zalt

Si vous n'avez pas besoin de débogage à distance, vous pouvez facilement déboguer votre projet.

Vérifiez d'abord vos paramètres php.ini.

Assurez-vous que votre DLL xdebug existe et que les paramètres sont activés.

xdebug.remote_enable = on
xdebug.profiler_enable = on
xdebug.profiler_enable_trigger = on
xdebug.profiler_output_name = cachegrind.out.%t.%p
xdebug.profiler_output_dir = "c:/wamp/tmp"
xdebug.show_local_vars=0

Ensuite, allez dans le menu Exécuter dans la barre de navigation supérieure. Sélectionnez ensuite modifier les configurations et ajouter une nouvelle configuration (ne modifiez pas vos paramètres par défaut pour un autre projet)

phpStorm add new configuration Cliquez sur le bouton Ajouter un nouvel élément.

Après avoir ajouté une nouvelle application web php

Si vous n'avez pas de serveur (pointe généralement l'hôte local avec 80 ports sur Windows ou Linux), cliquez sur le bouton ci-dessous.

enter image description here

Ajoutez un nouveau serveur avec xdebug.

enter image description here

Cliquez ensuite sur OK et vérifiez votre configuration

enter image description here

Enfin, vous verrez la configuration à droite d'ide.

enter image description here

Cliquez sur le bouton RUN ou DEBUG.

enter image description here

enter image description here

2