Question

J'utilise PHPStorm comme mon principal outil de débogage PHP et je suis très satisfait. Jusqu'à présent, je me sers de Firefox pour exécuter les scripts et PHPStorm les prises de pauses parfaitement.

Maintenant, j'ai une situation où je suis en cours d'exécution d'un script PHP via la ligne de commande (pas de navigateur) et que vous souhaitez savoir s'il y a un moyen de PHPStorm d'installation pour les pauses prises lors de l'exécution d'un script PHP via la ligne de commande?

Était-ce utile?

La solution

montre / vote la question de PhpStorm connexes.

A la configuration du moment est un peu compliqué. Il devrait être possible de déboguer comme décrit dans le Zend KB, avec serveur faux et Php débogage à distance configuration PhpStorm. Notez que ce tutoriel a une erreur, vous devez définir QUERY_STRING comme celui-ci (sous Windows):

SET "QUERY_STRING=start_debug=1&debug_port=10137&debug_host=127.0.0.1&debug_stop=1&no_remote=1&debug_session_id=10000"

(notez la différence de citer ce qui est important).

Mise en place PhpStorm comme indiqué sur les captures d'écran:

faux serveur

débogage à distance

Appuyez sur la Debug bouton dans la barre d'outils principale. PhpStorm va commencer à écouter pour les connexions de débogage.

Dans la ligne de commande, exécutez votre script:

d:\dev\zend\ZendServer\bin\php.exe d:\work\attaches\sample\helps.php

PhpStorm frappera le point d'arrêt:

coup de point d'arrêt

Cela a été testé sur Windows avec l'installation Zend Server, mais devrait être similaire sur les autres systèmes et xdebug.

Si vous souhaitez déboguer directement à partir PhpStorm, utilisez Script Php Exécuter / type de configuration de débogage. Votre instance de PHP configuré pour ce projet doit avoir soit Zend Debugger ou Xdebug activé dans les fichiers de configuration.

accueil PHP et le mode de débogage peuvent être spécifiés dans File | Settings | PHP.

Il suffit de vérifier l'installation du serveur Zend (home PHP: d:\dev\zend\ZendServer\bin). Et Zend Debugger, fonctionne parfaitement pour moi

Autres conseils

Pour activer PHP Déboguer avec Xdebug sur la ligne shell / commande avec PHPStorm est très simple:

export XDEBUG_CONFIG="idekey=PHPSTORM"

Dans les fenêtres CLI, utilisez ensemble au lieu d'exportation.

set XDEBUG_CONFIG="idekey=PHPSTORM"

Assurez-vous PHPStorm écoute les connexions de débogage PHP.

Pour désactiver le débogage à partir de la fin de ligne de commande:

unset XDEBUG_CONFIG

(PHPStorm) est la valeur par défaut PHPStorm IDE-Key.

  1. Cliquez sur Exécuter.
  2. Cliquez sur Modifier les configurations ...
  3. Cliquez sur le vert +
  4. Sélectionnez Script PHP.
  5. Fournir un nom dans le champ Nom.
  6. Fournir le chemin complet à votre script dans le champ du fichier.
  7. Cliquez sur OK.
  8. Sélectionnez le script que vous venez de configurer dans ce menu déroulant:

Capture d'écran de la barre de menu PhpStorm

  1. Cliquez sur le bouton d'exécution ou de débogage. Votre script doit fonctionner et il devrait prendre les points d'arrêt qui sont définies.

Si vous exécutez le script, vous pouvez voir ici la sortie:

Capture d'écran de Run widget généralement accosté au bas de la fenêtre

Si vous déboguer le script, vous pouvez voir ici la sortie:

widget de Capture de la console, amarré dans le débogage widget

Vérifiez que les variables d'environnements SERVER_NAME et SERVER_PORT sont ensemble. PHPStorm a besoin de faire la cartographie droite. les établir avec l'exportation dans le bash ou manuellement dans le PHPScript. Dans les deux cas PHPStorm peut le trouver alors sous $_SERVER['SERVER_NAME'] et $_SERVER['SERVER_PORT'] correctement.

Pour moi (sur MacOS), il a travaillé de cette façon: export XDEBUG_CONFIG="idekey=12345"

Aucune de ces suggestions travaillaient bien pour moi.

Si vous êtes dans la même situation essayez cette commande (vérifiez le chemin d'interprète droit php)

/usr/bin/php -dzend_extension=xdebug.so -dxdebug.remote_enable=1 -dxdebug.remote_mode=req -dxdebug.remote_port=9000 -dxdebug.remote_host=127.0.0.1 -dxdebug.remote_autostart=1 [PHP_SCRIPT]

Sur MacOS, j'utilisais différents bash_profile. Je devais courir après la première commande:

source ~/.bash_profile

Cela a changé mon php de intégré / usr / bin / php à celui installé via XAMPP. a commencé à travailler après la commande ci-dessus XDebug du PHPStorm.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top