Debug PHP script de ligne de commande dans PHPStorm
- Je utiliser PHPStorm comme mon principal outil de débogage PHP et je suis très heureux. Jusqu'à présent, j'ai été en utilisant Firefox pour exécuter les scripts, et PHPStorm captures pauses parfaitement.
Maintenant, j'ai une situation où je suis en cours d'exécution d'un script PHP via la ligne de commande (et non le navigateur) et que vous voulez savoir si il existe un moyen de l'installation PHPStorm pour attraper des pauses lors de l'exécution d'un script PHP via la ligne de commande?
- Voir Venkat réponse ci-dessous pour la solution la plus simple. Actuellement accepté réponse est obsolète.
Vous devez vous connecter pour publier un commentaire.
Veuillez watch/vote connexes PhpStorm question.
Au moment de la configuration est un peu compliqué. Il devrait être possible de déboguer comme décrit dans le Zend KO, avec un faux serveur et Php Débogage à Distance de configuration dans PhpStorm. Notez que ce tutoriel a une erreur, vous devez définir QUERY_STRING (sur Windows):
(notez la différence dans la citation qui est important).
Configurer PhpStorm comme indiqué sur la capture d'écran:
Appuyez sur la Debug bouton sur la barre d'outils principale. PhpStorm commence à écouter le débogueur connexions.
Dans la ligne de commande exécuter votre script:
PhpStorm va atteindre le point d'arrêt:
Cela a été testé sur Windows avec Zend Server installation, mais devrait être similaire sur les autres systèmes et avec xdebug.
Si vous souhaitez déboguer directement à partir de PhpStorm, utilisez Script Php Run/Debug type de configuration. Votre PHP instance configuré pour ce projet doit avoir soit Zend Debugger ou Xdebug activé dans les fichiers de configuration.
PHP à la maison et de la mode débogueur peut être spécifié dans
File | Settings | PHP
.Juste vérifié avec Zend server installation (PHP accueil:
d:\dev\zend\ZendServer\bin
) et Zend Debugger, fonctionne parfaitement pour moi.Pour activer PHP Debuging avec Xdebug sur la coque/ligne de commande avec Phpstorm est très facile:
Dans windows CLI, l'utilisation de jeu au lieu de l'exportation.
Assurer Phpstorm est à l'écoute de l'PHP Debug connexions.
Pour désactiver le débogage à partir de la ligne de commande de fin:
Ce (PHPSTORM) est la valeur par défaut Phpstorm IDE-Clé.
set XDEBUG_CONFIG="idekey=PHPSTORM"
Si vous exécutez le script, vous pouvez voir le résultat ici:
Si vous le script de débogage, vous pouvez voir le résultat ici:
Vérifier que les environnements variables
SERVER_NAME
etSERVER_PORT
sont fixés. PHPStorm besoin de faire la bonne cartographie. Avec l'exportation dans le bash ou manuellement dans le phpscript. Dans les deux cas, PHPStorm pouvez trouver puis sous$_SERVER['SERVER_NAME']
et$_SERVER['SERVER_PORT']
correctement.Pour moi (sous MacOS), il a travaillé de cette façon:
export XDEBUG_CONFIG="idekey=12345"
Aucune de ces suggestions ont été fonctionne très bien pour moi.
Si vous êtes dans la même situation d'essayer cette commande (vérifier le bon interprète php chemin)
Sur MacOS, j'ai été en utilisant différents bash_profile. J'ai eu à exécuter la commande suivante en premier:
Ce qui a changé ma php à partir de construit-dans le répertoire /usr/bin/php d'installé via XAMPP. Le PHPStorm de XDebug commencé à travailler après la commande ci-dessus.