Débogage - Nous le faisons tous beaucoup. écrire parfaitement le code la première fois est difficile et seuls quelques (voire aucun) réussissent. Il y a plus d'un an, Shameer a écrit un article sur SitePoint sur la fa?on dont vous pouvez déboguer votre application à l'aide de XDebug et NetBeans. Dans cet article, nous allons voir comment nous pouvons déboguer en utilisant xdebug en combinaison avec le texte sublime.
Les plats clés
- Pour déboguer avec XDebug et SUBLIME Text 3, l'extension PHP XDEBUG doit être installée et le texte sublime 3 doit être configuré avec le package xdebug installé via le contr?le du package.
- xdebug doit être configuré dans le fichier php.ini ou dans un fichier xdebug.ini avec des paramètres spécifiques, puis le serveur Web doit être redémarré.
- Pour le texte sublime 3, le projet doit être configuré et l'URL de l'application Web doit être ajoutée aux paramètres du fichier du projet. Cela permet de déboguer sur plusieurs projets sans avoir à modifier la configuration xdebug à chaque fois.
- La session XDEBUG peut être démarrée et les points d'arrêt peuvent être définis lorsque l'application s'arrête. à partir de là, les variables peuvent être inspectées et l'application peut être exécutée jusqu'au prochain point d'arrêt ou jusqu'à la fin à l'aide de diverses commandes telles que ?Exécuter?, ?Entrez?, ?Passez-vous? et ?sort?.
Pour commencer
Tout d'abord, nous devons installer l'extension PHP XDEBUG. Si vous ne savez pas comment faire cela, veuillez consulter le lien fourni dans l'introduction. Assurez-vous que XDebug fonctionne en vérifiant s'il est répertorié dans votre phpinfo ().
Bien s?r, nous avons également besoin de texte sublime. J'utiliserai la dernière version: sublime texte 3. Cela devrait également fonctionner avec le texte sublime 2.
Configuration de xdebug
Nous devons configurer XDebug en ajoutant ce qui suit à votre fichier php.ini, ou même mieux, à un fichier xdebug.ini comme décrit ici sous la manière de faire sur Linux.
<span>xdebug.remote_enable=1 </span><span>xdebug.remote_handler=dbgp </span><span>xdebug.remote_host=127.0.0.1 </span><span>xdebug.remote_port=9000 </span><span>xdebug.remote_log="/var/log/xdebug/xdebug.log"</span>
En général, vous utiliserez 127.0.0.1 en tant qu'h?te. Cependant, si vous utilisez Vagrant par exemple, vous utiliserez quelque chose comme 10.0.2.2, selon l'endroit où XDebug peut trouver votre système.
Le journal distant n'est pas nécessaire, mais en cas de problèmes, c'est l'endroit où vous pouvez trouver des informations sur les erreurs qui se sont produites.
N'oubliez pas de redémarrer votre serveur Web!
Configuration du texte sublime 3
L'une des forces du sublime est le fait que vous pouvez l'étendre facilement avec des packages. Dans ce cas, nous allons installer le package xdebug. Si vous ne l'avez pas déjà fait, assurez-vous que vous pouvez installer des packages en installant le contr?le des packages.
Une fois que le contr?le du package est installé, vous devez démarrer le texte sublime 3. Ouvrez la palette de commande dans le menu des outils et recherchez ?Installer le package?.
Maintenant, vous pouvez rechercher n'importe quel package que vous aimez. Dans notre cas, nous allons rechercher le package ?Client XDebug?.
Le dernier bit que nous devons faire est de configurer le projet dans Sublime. La fa?on la plus simple de le faire est d'ouvrir le répertoire racine de votre application, d'aller dans des projets et de cliquer sur ?Enregistrer les projets sous?. Je vous suggère d'enregistrer le fichier dans la racine de votre application, afin que vous puissiez l'enregistrer dans votre système de contr?le de version si vous en utilisez et vous pouvez le configurer facilement à tout moment.
Ouvrez le fichier de projet juste créé. Le contenu ressemblera à ceci:
<span>xdebug.remote_enable=1 </span><span>xdebug.remote_handler=dbgp </span><span>xdebug.remote_host=127.0.0.1 </span><span>xdebug.remote_port=9000 </span><span>xdebug.remote_log="/var/log/xdebug/xdebug.log"</span>
Nous allons ajouter quelques lignes supplémentaires:
<span>{ </span><span> "folders": </span><span> [ </span><span> { </span><span> "follow_symlinks": true, </span><span> "path": "." </span><span> } </span><span> ] </span><span>}</span>
Comme vous pouvez le voir, je n'ai ajouté qu'une URL à mon application Web réelle. Je pourrais définir plus de paramètres pour xdebug, cependant, cela suffit pour commencer. J'aurais également pu définir cette URL dans les paramètres XDebug lui-même, mais dans ce cas, je ne pouvais pas travailler sur plusieurs projets sans avoir à modifier la configuration XDebug à chaque fois.
Démarrez la session XDebug
Nous pouvons maintenant démarrer la session XDebug pour voir si tout est configuré correctement. Dans le menu, cliquez sur les outils -> xdebug et cliquez sur Démarrer le débogage (lancement du navigateur). Vous remarquerez que votre site Web est ouvert et que? Xdebug_session_start = sublime.xdebug est ajouté à la fin de l'URL. Cela commencera la session XDebug. En sublime, certains panneaux supplémentaires apparaissent où les informations de débogage seront affichées, après avoir établi un ou plusieurs points d'arrêt.
points d'arrêt
Délivons le premier point d'arrêt. Un point d'arrêt est essentiellement un drapeau où votre application s'arrêtera lorsqu'elle l'atteindra. Pour le moment, il s'arrête, vous pouvez inspecter toutes les valeurs des variables afin que vous sachiez en fait ce qui se passe.
Nous pouvons ajouter un point d'arrêt en cliquant avec notre souris droite sur une ligne, en allant à Xdebug, puis en cliquant sur Ajouter / supprimer le point d'arrêt. Un marqueur sera ajouté à la gouttière de ligne pour indiquer qu'un point d'arrêt a été défini.
Nous ouvrons à nouveau notre navigateur et continuons avec la session que nous venons de commencer. Vous remarquerez que dès que vous allez sur la page où se trouve le point d'arrêt, la page cessera de charger. Si vous ouvrez maintenant Sublime, vous verrez beaucoup d'informations affichées dans les panneaux XDebug.
La pile Xdebug et le contexte XDebug sont très intéressants. Dans la pile, vous pouvez voir l'ensemble de StackTrace que votre appel est passé.
Dans le contexte, vous verrez toutes les variables globales, mais aussi les variables que vous avez définies vous-même. Vous pouvez cliquer sur ces variables pour voir exactement ces variables. Par exemple, dans la capture d'écran ci-dessous, j'ai cliqué sur la variable $ _server.
Notez qu'une flèche jaune pointe vers la ligne sur laquelle l'application est actuellement interrompue.
Ainsi, notre application s'est arrêtée et maintenant nous pouvons parcourir les variables définies. Cependant, nous avons terminé et nous voulons continuer. Quoi maintenant? Lorsque vous êtes à nouveau, cliquez sur la souris, cliquez à nouveau et survolez le menu XDebug, vous aurez plusieurs options:
- Exécuter qui exécutera l'application jusqu'au prochain point d'arrêt ou jusqu'à la fin.
- Exécutez la ligne qui s'exécutera jusqu'à la ligne que vous avez cliqué.
- Entrez dans la fonction actuelle et s'arrête juste après.
- Le pas dépassera la fonction actuelle et s'arrête juste après.
- sort sortira de la fonction actuelle et s'arrêtera juste après.
- L'arrêt cessera de déboguer.
- Detach cessera également de déboguer.
Run and Stop est assez facile à comprendre. Les méthodes d'étape pourraient être un peu déroutantes. Plongeons-nous avec un exemple simple.
<span>xdebug.remote_enable=1 </span><span>xdebug.remote_handler=dbgp </span><span>xdebug.remote_host=127.0.0.1 </span><span>xdebug.remote_port=9000 </span><span>xdebug.remote_log="/var/log/xdebug/xdebug.log"</span>
Imaginez que vous avez ajouté un point d'arrêt à la première ligne de la barre de méthode. Donc, sur la ligne avec le commentaire de point d'arrêt (// point d'arrêt).
En passant, le débogueur entrera dans la méthode FOOBAR et s'arrêtera là à la première ligne. Ainsi, dans ce cas, le débogueur s'arrêtera sur le retour array_values ??($ arr); ligne.
Le pas appellera la méthode, mais ne s'arrêtera pas. Il s'arrêtera à la ligne suivante disponible après avoir appelé la méthode. Donc, dans ce cas, il s'arrêtera au retour $ arr;
Enfin, avec pas, il passera à travers toute la méthode de la barre et reviendra à l'appelant. Dans ce cas, il sortira de l'objet, de retour à l'appelant d'origine.
Si vous décidez simplement d'exécuter, l'application s'exécutera davantage jusqu'au moment où il est fait de l'exécution ou un autre point d'arrêt se produit.
Conclusion
Dans cet article, nous avons vu comment nous pouvions intégrer XDebug à Sublime et nous assurer que nous comprenions comment déboguer. Presque tous les IDE adaptés à PHP peuvent s'intégrer à XDebug. Si vous êtes intéressé à déboguer comme celui-ci dans Netbeans, consultez l'article mentionné dans l'introduction. Utilisez-vous des points d'arrêt? Ou utilisez-vous des fonctions PHP comme var_dump pour obtenir vos données de débogage? Faites-nous savoir dans les commentaires ci-dessous!
Questions fréquemment posées (FAQ) sur le débogage avec XDebug et SUBLIME Texte 3
Comment installer xdebug pour le texte sublime 3?
Pour installer xdebug pour le texte sublime 3, vous devez d'abord installer l'extension PHP xdebug. Cela peut être fait en téléchargeant le fichier DLL approprié à partir du site Web XDebug et en l'ajoutant à votre répertoire d'extensions PHP. Après cela, vous devez modifier votre fichier php.ini pour inclure l'extension xdebug. Une fois l'extension XDebug PHP installée, vous pouvez installer le package xdebug pour le texte sublime 3 en utilisant le contr?le du package.
Comment configurer XDebug pour le texte sublime 3?
Configuration de XDebug pour le texte sublime 3 implique la modification de votre fichier php.ini et de vos paramètres Sublime Text 3. Dans votre fichier php.ini, vous devez définir les paramètres xdebug.remote_enable et xdebug.remote_autostart vers 1. Dans votre paramètres Sublime Text 3, vous devez spécifier le chemin d'accès à l'exécutable PHP et le numéro de port que Xdebug devrait utiliser pour la communication .
Pourquoi Xdebug ne fonctionne-t-il pas dans le texte sublime 3?
Si Xdebug ne fonctionne pas dans le texte sublime 3, il pourrait y avoir plusieurs raisons. Un problème courant est que l'extension XDebug PHP n'est pas installée ou configurée correctement. Un autre problème pourrait être que le package XDebug pour Sublime Text 3 n'est pas installé ou configuré correctement. Il est également possible qu'il y ait un problème avec vos paramètres PHP ou SUblime Text 3.
Comment utiliser XDebug pour déboguer le code PHP dans SUblime Text 3?
pour utiliser XDebug pour déboguer le code PHP dans Texte sublime 3, vous devez d'abord définir un point d'arrêt dans votre code. Cela peut être fait en cliquant dans le gouttière à c?té de la ligne de code où vous voulez le point d'arrêt. Une fois le point d'arrêt défini, vous pouvez démarrer la session de débogage en sélectionnant ?Déboguer le débogage? dans le menu XDebug.
Puis-je utiliser XDebug avec un texte sublime 3 sur un Mac?
Oui, vous, vous Peut utiliser xdebug avec un texte sublime 3 sur un Mac. Le processus d'installation et de configuration de XDebug sur un Mac est similaire au processus pour Windows, mais il existe des différences. Par exemple, l'emplacement du fichier php.ini et le répertoire d'extensions PHP peuvent être différents.
Comment afficher les valeurs de variable avec xdebug dans le texte sublime 3?
pour afficher les valeurs variables avec XDebug Dans Sublime Text 3, vous devez utiliser la fonction ?Watch?. Cela vous permet de spécifier des variables que vous souhaitez surveiller pendant la session de débogage. Lorsqu'une variable regardée change, sa nouvelle valeur s'affiche dans le panneau XDebug.
Puis-je passer à travers le code avec xdebug dans le texte sublime 3?
Oui, vous pouvez parcourir le code avec xdebug dans Texte sublime 3. Ces commandes vous permettent de contr?ler l'exécution de votre code ligne par ligne, ce qui facilite l'identification et la correction des bogues.
Comment arrêter une session de débogage dans le texte sublime 3?
pour arrêter Une session de débogage dans Sublime Text 3, vous pouvez utiliser la commande ?Stop Debugging? dans le menu Xdebug. Cela mettra fin à la session de débogage et au contr?le du texte sublime 3.
Puis-je déboguer les applications PHP distantes avec XDebug et SUBLIME Text 3?
Oui, vous pouvez déboguer les applications PHP distantes avec xdebug et Texte sublime 3. Cela nécessite une configuration supplémentaire, y compris la définition des paramètres xdebug.remote_host et xdebug.remote_port dans votre Fichier php.ini.
comment puis-je mettre à jour xdebug dans sublime text 3?
Mis à jour en téléchargeant le dernier fichier DLL à partir du site Web XDebug et en rempla?ant le fichier DLL existant dans votre répertoire d'extensions PHP. Le package xdebug pour le texte sublime 3 peut être mis à jour à l'aide du contr?le du package.
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!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

ToseCurelyHandleAuthentication andAuthorizationInPhp, suivitheSesteps: 1.AlwayShashPasswordSwithPassword_Hash () etverifyusingPassword_verify (), usePreparedStatementStopReventsQLendiject, andstoreSerDatain $ _SessionAfterLogin.2

Pour gérer en toute sécurité les téléchargements de fichiers dans PHP, le noyau consiste à vérifier les types de fichiers, à renommer les fichiers et à restreindre les autorisations. 1. Utilisez finfo_file () pour vérifier le type de mime réel, et seuls des types spécifiques tels que l'image / jpeg sont autorisés; 2. Utilisez Uniqid () pour générer des noms de fichiers aléatoires et les stocker dans le répertoire racine non Web; 3. Limiter la taille du fichier via les formulaires PHP.ini et HTML et définir les autorisations de répertoire sur 0755; 4. Utilisez Clamav pour scanner les logiciels malveillants pour améliorer la sécurité. Ces étapes empêchent efficacement les vulnérabilités de sécurité et garantissent que le processus de téléchargement de fichiers est s?r et fiable.

En PHP, la principale différence entre == et == est la rigueur de la vérification des types. == La conversion de type sera effectuée avant la comparaison, par exemple, 5 == "5" Renvoie True, et === Demande que la valeur et le type soient les mêmes avant que True sera renvoyé, par exemple, 5 === "5" Renvoie False. Dans les scénarios d'utilisation, === est plus sécurisé et doit être utilisé en premier, et == n'est utilisé que lorsque la conversion de type est requise.

Les méthodes d'utilisation des opérations mathématiques de base en PHP sont les suivantes: 1. Les signes d'addition prennent en charge les entiers et les nombres à virgule flottante, et peuvent également être utilisés pour les variables. Les numéros de cha?ne seront automatiquement convertis mais non recommandés en dépendances; 2. Les signes de soustraction utilisent - les signes, les variables sont les mêmes et la conversion de type est également applicable; 3. Les panneaux de multiplication utilisent * les panneaux, qui conviennent aux nombres et aux cha?nes similaires; 4. La division utilise / signes, qui doit éviter de diviser par zéro, et noter que le résultat peut être des nombres à virgule flottante; 5. Prendre les signes du module peut être utilisé pour juger des nombres impairs et uniformes, et lors du traitement des nombres négatifs, les signes restants sont cohérents avec le dividende. La clé pour utiliser correctement ces opérateurs est de s'assurer que les types de données sont clairs et que la situation limite est bien gérée.

Oui, PHP peut interagir avec les bases de données NoSQL comme MongoDB et Redis à travers des extensions ou des bibliothèques spécifiques. Tout d'abord, utilisez le pilote MongoDBPHP (installé via PECL ou Composer) pour créer des instances clients et faire fonctionner des bases de données et des collections, en prenant en charge l'insertion, la requête, l'agrégation et d'autres opérations; Deuxièmement, utilisez la bibliothèque Predis ou l'extension PHPREDIS pour vous connecter à Redis, effectuer des paramètres et des acquisitions de valeur clé, et recommander PHPredis pour des scénarios à haute performance, tandis que Predis est pratique pour un déploiement rapide; Les deux conviennent aux environnements de production et sont bien documentés.

TostayCurrentwithPhpDevelopments andBestPractices, suiventyewnewsources likephp.netandphpweekly, engagewithcommunitiesonforumums et conférences, keeptoolingupdated etgradualadoptnewfeatures, etreadorontruttetoopensourceprojects.

PhpBecamepopularforwebDevelopmentDuetoitSeaseOflearning, Samoussentegration withhtml, widespreadhostingsupport, andalargecosystemysteclustingframeworkslikeLaravelandcmsplateformeslikewordpress.itexcelSinlingFormSubMissions, ManagetingSeSeSessions, interactif, interactif

Tosetherighttimezoneinphp, usedate_default_timezone_set () Fonctionnellestartofyourscriptwithavalididentifiersuchas'america / new_york'.1.usedate_default_timezone_set () beforeanydate / timefunctions.20
