Maison  >  Article  >  outils de développement  >  Comment déboguer un projet Web php avec phpstorm

Comment déboguer un projet Web php avec phpstorm

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼original
2019-08-19 10:50:4511018parcourir

Comment déboguer un projet Web php avec phpstorm

Configuration Xdebug

Dans l'environnement d'exécution de l'application Web, ouvrez le fichier php.ini (tel que votre site Web programme S'il s'exécute localement, modifiez le php.ini local. Si votre programme s'exécute sur la machine intranet 172.16.17.8, alors vous pouvez vous connecter en ssh sur cette machine et modifier le php.ini de cette machine). Ajoutez la configuration Xdebug à la fin du fichier :

[Xdebug]
xdebug.remote_enable=1
xdebug.remote_host=127.0.0.1
xdebug.remote_connect_back=1
xdebug.remote_port=9001
xdebug.remote_autostart=1
xdebug.idekey=phpstorm

Les configurations les plus couramment utilisées sont celles ci-dessus. Leurs configurations sont expliquées comme suit :

·remote_enable<.>

Déterminez si xdebug active le mode de débogage à distance, qui doit être activé lors de l'utilisation du débogage à distance

·remote_host vs remote_connect_back

Depuis ces deux configurations ; les éléments ont Ils sont étroitement liés, nous en parlons donc ensemble.

(1) Tout d'abord, si vous ciblez un seul utilisateur de débogage, par exemple en déboguant vous-même, vous pouvez définir remote_host sur l'adresse IP sur laquelle votre programme Web est exécuté, et la valeur de remote_connect_back n'est pas définie ou défini sur 0 (vous La valeur par défaut est 0 si elle n'est pas définie). De cette façon, Xdebug se connectera toujours à l'adresse IP spécifiée par remote_host à chaque fois qu'il sera débogué

(2) Mais si vous prenez en charge le débogage à plusieurs personnes, il n'y a évidemment aucun moyen de définir un remote_host ; À ce stade, vous pouvez utiliser remote_connect_back=1 pour le définir. Lorsque remote_connect_back est défini sur 1, xdebug se reconnectera automatiquement en fonction de l'adresse IP demandée pour le débogage, prenant ainsi en charge le débogage à plusieurs personnes. Dans le même temps, définir cette valeur sur 1 invalidera le paramètre remote_host ;

(3) Dans des circonstances normales, il est recommandé d'utiliser la configuration de remote_connect_back=1

· remote_port

Il s'agit évidemment de définir le port de débogage. Le port ici doit être cohérent avec le port de débogage configuré dans PHPStorm. Il faut noter que s'il n'est pas disponible, il entrera en conflit avec. d'autres ports, sinon vous ne pourrez pas accéder au débogage. Nous le définissons ici sur 9001 (car le port par défaut de fpm est 9000, afin d'éviter les conflits, il est défini sur 9001 ici

) ;

·remote_autostart

Par défaut, le déclenchement du débogage doit être ajouté au paramètre url get : XDEBUG_SESSION_START={xdebug.idekey}, si vous souhaitez démarrer automatiquement le débogage, vous pouvez définir cette valeur à 1, il est donc recommandé de définir cette valeur sur 1 ;>

peut être compris comme un jeton de débogage. Le jeton configuré dans PHP exécutant le programme Web doit être cohérent avec le jeton configuré dans PHPStorm pour déclencher le débogage ; 🎜>

Recommandations associées : "

Tutoriel d'utilisation de PhpStorm

Une fois la configuration terminée, n'oubliez pas de redémarrer fpm, puis d'imprimer phpinfo (entrez phpinfo();exit ; à l'entrée du programme Web, puis accédez au programme Web pour afficher les informations relatives à la configuration php) pour vérifier si la configuration est efficace

1 Vérifiez si Xdebug est installé et les informations de version

<.>

2. Vérifiez les informations des paramètres xdebug (Ctrl+f Rechercher xdebug)

Ouvrez PHPStorm, cliquez sur le menu PhpStorm-> Préférences pour accéder à la boîte de dialogue de configuration. Cliquez sur Langages & Frameworks -> PHP -> Maintenant, vous pouvez le tester : Comment déboguer un projet Web php avec phpstorm

Cliquez sur le bouton de débogage à distance dans la barre d'outils :

Comment déboguer un projet Web php avec phpstorm

Utilisez la commande lsof -i tcp:9001 pour vérifier si le client de débogage de PHPStorm est Démarrer :

Comment déboguer un projet Web php avec phpstorm

Configurer le serveur PHP. PhpStorm->Préférences -> Langages & Frameworks -> PHP -> Serveurs, cliquez sur le signe + et saisissez le nom de domaine et le port du programme Web à droite. Selon qu'il s'agit d'un débogage à distance, configurez Utiliser et cliquez sur OK après la configuration. Portez une attention particulière à Utiliser les mappages de chemin :

Si vous déboguez un programme Web local, il n'est pas nécessaire de le définir ici

Si vous déboguez un programme Web distant, vous devez le faire ; vérifiez-le, puis cliquez ci-dessous Sélectionnez le dossier du projet sur le côté gauche du contenu, entrez le répertoire racine du programme Web distant sur le côté droit et appuyez sur Entrée

Comment déboguer un projet Web php avec phpstorm

;

Configurer le débogage à distance. Entrez dans la fenêtre de configuration de l'environnement en cours d'exécution à partir de la barre de menu Exécuter->Modifier les configurations, cliquez sur le signe + dans le coin supérieur gauche de la fenêtre, sélectionnez Débogage à distance PHP, sélectionnez les r2 locaux que nous venons de configurer dans Serveurs à droite. , puis entrez la clé ide ( PHPSTORM), cliquez sur OK.

Comment déboguer un projet Web php avec phpstorm

À ce stade, la configuration du débogage est terminée.

Activez maintenant le bouton de débogage à distance dans la barre d'outils (si vous l'avez activé lors des tests précédents, cliquez dessus pour le désactiver, et cliquez à nouveau dessus pour l'activer). Définissez ensuite des points d'arrêt dans le code. S'il n'y a pas d'accident, vous pouvez saisir le point d'arrêt.

Comment déboguer un projet Web php avec phpstorm

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn