Debugging mit Xdebug und Sublime Text 3
Debugging - Wir alle machen es viel. Das erste Mal, dass das erste Mal Code perfekt ist, ist schwierig und nur wenige (wenn überhaupt) gelten ihm. Vor mehr als einem Jahr schrieb Shameer einen Artikel über SitePoint darüber, wie Sie Ihre Anwendung mit XDEBUG und NetBeans debuggen können. In diesem Artikel werden wir uns ansehen, wie wir mit XDEBUG in Kombination mit Sublime Text debuggen können.
Key Takeaways
- Um mit XDebug und Sublime Text 3 zu debuggen, muss die PHP XDEBUG -Erweiterung installiert und sublime Text 3 mit dem XDebug -Paket konfiguriert werden, das über Paketsteuerung installiert ist.
- xDebug muss in der Datei php.ini oder in einer xDebug.ini -Datei mit bestimmten Einstellungen konfiguriert werden, und dann sollte der Webserver neu gestartet werden.
- Für Sublime Text 3 muss das Projekt eingerichtet werden, und die URL der Webanwendung sollte zu den Einstellungen der Projektdatei hinzugefügt werden. Dies ermöglicht das Debuggen in mehreren Projekten, ohne die xDebug -Konfiguration jedes Mal ändern zu müssen.
- Die XDEBUG -Sitzung kann gestartet werden und Haltepunkte können festgelegt werden, wo die Anwendung anhält. Von dort aus können Variablen inspiziert werden und die Anwendung kann bis zum nächsten Haltepunkt oder bis zum Ende mit verschiedenen Befehlen wie „Run“, „Schritt in“, „Schritt über“ und „Schritt raus“ ausgeführt werden.
Erste Schritte
Zunächst müssen wir die Php XDebug -Erweiterung installieren lassen. Wenn Sie sich nicht sicher sind, wie Sie dies erledigen können, sehen Sie sich bitte den Link an, der in der Einführung bereitgestellt wird. Stellen Sie sicher, dass XDEBUG funktioniert, indem Sie überprüfen, ob es in Ihrem Phpinfo () aufgeführt ist.
Natürlich brauchen wir auch erhabenen Text. Ich werde die neueste Version verwenden: Sublime Text 3. Es sollte auch mit Sublime Text 2.
XDEBUG
einrichtenWir müssen XDEBUG konfigurieren, indem wir Ihre Php.ini-Datei Folgendes zu einer XDEBUG.ini-Datei hinzufügen, wie hier unter How-to on Linux beschrieben.
<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>
Im Allgemeinen werden Sie 127.0.0.1 als Host verwenden. Wenn Sie zum Beispiel Vagrant verwenden, werden Sie je nach Ihrem System so etwas wie 10.0.2.2 verwenden.
.Das Remote -Protokoll ist nicht erforderlich, aber bei Problemen ist es der Ort, an dem Sie Informationen über Fehler finden können.
Vergessen Sie nicht, Ihren Webserver neu zu starten!
Erhabener Text einrichten 3
Eine der Stärken des Erhabenen ist die Tatsache, dass Sie sie leicht mit Paketen erweitern können. In diesem Fall werden wir das XDebug -Paket installieren. Wenn Sie dies noch nicht getan haben, stellen Sie sicher, dass Sie Pakete installieren können, indem Sie die Paketsteuerung installieren.
Sobald Sie die Paketsteuerung installiert haben, sollten Sie den Sublime -Text starten. 3. Öffnen Sie die Befehlspalette im Menü "Tools" und suchen Sie nach "Paket installieren".
Jetzt können Sie nach jedem Paket suchen, das Ihnen gefällt. In unserem Fall suchen wir nach dem Paket "XDEBUG -Client".
Das letzte Stück, das wir tun müssen, ist, das Projekt innerhalb von Sublime einzurichten. Der einfachste Weg, dies zu tun, besteht darin, das Stammverzeichnis Ihrer Anwendung zu öffnen, zu Projekten zu gehen und auf „Projekte speichern“ zu klicken. Ich schlage vor, Sie speichern die Datei im Root Ihrer Anwendung, sodass Sie sie in Ihrem Versionskontrollsystem speichern können, wenn Sie irgendwelche verwenden, und Sie können sie jederzeit problemlos konfigurieren.
Öffnen Sie die gerade erstellte Projektdatei. Der Inhalt wird so aussehen:
<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>
Wir werden noch ein paar Zeilen hinzufügen:
<span>{ </span><span> "folders": </span><span> [ </span><span> { </span><span> "follow_symlinks": true, </span><span> "path": "." </span><span> } </span><span> ] </span><span>}</span>
Wie Sie sehen, habe ich meiner tatsächlichen Webanwendung nur eine URL hinzugefügt. Ich könnte weitere Einstellungen für XDEBUG einstellen. Dies reicht jedoch aus, um mit zu beginnen. Ich hätte diese URL auch in den XDebug -Einstellungen selbst festlegen können, aber in diesem Fall konnte ich nicht an mehreren Projekten arbeiten, ohne jedes Mal die XDEBUG -Konfiguration zu ändern.
Starten Sie die XDEBUG -Sitzung
Wir können jetzt die XDebug -Sitzung starten, um festzustellen, ob alles richtig eingerichtet ist. Klicken Sie im Menü auf Tools -> xDebug und klicken Sie auf Start Debugging (Startbrowser). Sie werden feststellen, dass Ihre Website geöffnet ist und dass? Dadurch wird die XDebug -Sitzung gestartet. In Sublime erscheinen einige zusätzliche Panels dort, wo Debug -Informationen angezeigt werden, nachdem Sie einen oder mehrere Haltepunkte festgelegt haben.
Breakpoints
Lassen Sie uns den ersten Haltepunkt auslegen. Ein Haltepunkt ist im Grunde ein Flag, in dem Ihre Bewerbung beim Erreichen des Erreichens annimmt. Im Moment, in dem es annimmt, können Sie alle Werte der Variablen inspizieren, damit Sie tatsächlich wissen, was los ist.
Wir können einen Breakpoint hinzufügen, indem wir mit unserer rechten Maus in einer Zeile klicken, zu XDebug gehen und dann auf den Haltepunkt hinzufügen/entfernen. Ein Marker wird zur Zeilenrinne hinzugefügt, um anzuzeigen, dass ein Haltepunkt festgelegt wurde.
Wir öffnen unseren Browser erneut und fahren mit der Sitzung fort, die wir gerade angefangen haben. Sie werden feststellen, dass sobald Sie zur Seite gehen, auf der sich der Haltepunkt befindet, die Seite nicht mehr lädt. Wenn Sie jetzt Sublime öffnen, sehen Sie viele Informationen, die in den XDebug -Panels angezeigt werden.
Der XDEBUG -Stack und der Xdebug -Kontext sind sehr interessant. Im Stapel können Sie den gesamten Stacktrace sehen, den Ihr Anruf durchlief.
Im Kontext sehen Sie alle globalen Variablen, aber auch die Variablen, die Sie selbst definiert haben. Sie können auf diese Variablen klicken, um zu sehen, dass genau diese Variablen gehalten werden. Zum Beispiel habe ich im folgenden Screenshot auf die Variable $ _server geklickt.
Beachten Sie, dass ein gelber Pfeil auf die Zeile zeigt, auf die die Anwendung derzeit gestoppt ist.
Also hörte unsere Anwendung an und jetzt können wir die definierten Variablen durchsehen. Wir sind jedoch fertig und wollen weitermachen. Was jetzt? Wenn Sie die rechte Maus noch einmal klicken und über das XDebug -Menü schweben, haben Sie mehrere Optionen:
- Führen Sie die Anwendung bis zum nächsten Haltepunkt oder bis zum Ende aus.
- Ausführen zur Zeile, die bis zu der von Ihnen geklickten Zeile ausgeführt wird.
- Schritt in die aktuelle Funktion einsteigt und gleich danach bleibt.
- Schritt über die aktuelle Funktion und bleibt gleich danach gestellt.
- Schritt aus der aktuellen Funktion heraus und stoppt gleich danach.
- Stopp hört auf zu debuggen.
- detach wird auch aufhören zu debuggen.
Lauf und Stopp sind leicht zu verstehen. Die Schrittmethoden könnten etwas verwirrend sein. Lassen Sie uns diese mit einem einfachen Beispiel eintauchen.
<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>
Stellen Sie sich vor, Sie haben der ersten Zeile der Methodenleiste einen Haltepunkt hinzugefügt. Also in der Linie mit dem Breakpoint -Kommentar (// Breakpoint).
Mit einem Schritt in den Debugger tritt der Debugger in die Foobar -Methode ein und hält hier in der ersten Zeile an. In diesem Fall wird der Debugger die Rückgabearray_Values ($ arr) anhalten. Zeile.
Schritt übernimmt die Methode, wird aber nicht aufhören. Es wird an der nächsten verfügbaren Zeile stehen, nachdem die Methode aufgerufen wurde. In diesem Fall wird es bei der Rückkehr $ arr;
aufhörenSchließlich wird es mit Schritt aus der gesamten Balkenmethode durchlaufen und zum Anrufer zurückkehren. In diesem Fall geht es aus dem Objekt zurück zum ursprünglichen Anrufer.
Wenn Sie sich nur für die Ausführung entscheiden, wird die Anwendung bis zu dem Moment, in dem die Ausführung oder einen anderen Haltepunkt stattfindet, weiter ausgeführt.
Schlussfolgerung
In diesem Artikel haben wir gesehen, wie wir XDebug mit Sublime integrieren konnten, und haben sichergestellt, dass wir verstanden haben, wie man debuggen. Fast jede für PHP geeignete Ideen kann sich in Xdebug integrieren. Wenn Sie daran interessiert sind, solche in NetBeans zu debuggen, sehen Sie sich den in der Einführung erwähnten Artikel an. Verwenden Sie Haltepunkte? Oder verwenden Sie PHP -Funktionen wie var_dump, um Ihre Debug -Daten zu erhalten? Lassen Sie uns in den Kommentaren unten wissen!
häufig gestellte Fragen (FAQs) zum Debuggen mit XDebug und Sublime Text 3
Wie installiere ich XDebug für Sublime Text 3? Dies kann durch das Herunterladen der entsprechenden DLL -Datei von der XDebug -Website und dem Hinzufügen zu Ihrem PHP -Erweiterungsverzeichnis erfolgen. Danach müssen Sie Ihre Php.ini -Datei so ändern, dass die XDEBUG -Erweiterung einbezieht. Sobald die XDEBUG -PHP -Erweiterung installiert ist, können Sie das XDebug -Paket für Sublime Text 3 mithilfe von Paketsteuerung installieren.
Wie konfiguriere ich XDebug für Sublime Text 3?
Konfigurieren von XDebug für Sublime Text 3 Beinhaltet die Änderung Ihrer Php.ini -Datei und Ihren Sublime Text 3 -Einstellungen. In Ihrer Php.ini -Datei müssen Sie die Einstellungen von xDebug.remote_enable und xdebug.remote_autostart festlegen. In Ihren sublime Text 3 -Einstellungen müssen Sie den Pfad zu Ihrem PHP -ausführbaren Datum angeben und die Portnummer, die XDebug für Kommunikation verwenden sollte .
Warum funktioniert XDebug nicht in sublime Text 3?
Wenn Xdebug arbeitet nicht in Sublime Text 3, es kann mehrere Gründe geben. Ein häufiges Problem ist, dass die XDEBUG -PHP -Erweiterung nicht korrekt installiert oder konfiguriert ist. Ein weiteres Problem könnte sein, dass das XDEBUG -Paket für Sublime Text 3 nicht korrekt installiert oder konfiguriert ist. Es ist auch möglich, dass es ein Problem mit Ihren PHP- oder Sublime -Text -3 -Einstellungen gibt. Sublime Text 3, Sie müssen zunächst einen Haltepunkt in Ihrem Code festlegen. Dies kann erfolgen, indem Sie in die Dachrinne neben der Codezeile klicken, in der Sie den Haltepunkt möchten. Sobald der Haltepunkt festgelegt ist, können Sie die Debugging -Sitzung starten, indem Sie aus dem XDebug -Menü "Debugging" auswählen. kann xDebug mit Sublime Text 3 auf einem Mac verwenden. Der Prozess zur Installation und Konfiguration von XDEBUG auf einem Mac ähnelt dem Prozess für Windows, es gibt jedoch einige Unterschiede. Zum Beispiel kann der Ort der Php.ini -Datei und des PHP -Erweiterungsverzeichnisses unterschiedlich sein. XDEBUG In Sublime Text 3 müssen Sie die Funktion „Watch“ verwenden. Auf diese Weise können Sie Variablen angeben, die Sie während der Debugging -Sitzung überwachen möchten. Wenn sich eine beobachtete Variable ändert, wird ihr neuer Wert im XDebug -Bereich angezeigt. Sublime Text 3. Dies erfolgt mit den Befehlen "Schritt über", "Schritt in" und "Schritt aus". Mit diesen Befehlen können Sie die Ausführung Ihrer Codezeile nach Zeile steuern und die Identifizierung und Behebung von Fehler erleichtern. In einer Debugging -Sitzung in Sublime Text 3 können Sie den Befehl „Debugging stoppen“ im XDEBUG -Menü verwenden. Dadurch wird die Debugging -Sitzung beendet und die Steuerung in Sublime Text 3.
kann ich Remote -PHP -Anwendungen mit XDebug- und Sublime -Text 3? Sublime Text 3.. Dies erfordert eine zusätzliche Konfiguration, einschließlich der Einstellung der xDebug.remote_host und xdebug.remote_port -Einstellungen in Ihrem Php.ini -Datei.
Wie aktualisiere ich XDebug in Sublime Text 3?
, um XDebug in Sublime Text 3 zu aktualisieren. Aktualisiert, indem Sie die neueste DLL -Datei von der XDebug -Website herunterladen und die vorhandene DLL -Datei in Ihrem PHP -Erweiterungsverzeichnis ersetzen. Das XDEBUG -Paket für Sublime Text 3 kann mithilfe der Paketsteuerung aktualisiert werden.
Das obige ist der detaillierte Inhalt vonDebugging mit Xdebug und Sublime Text 3. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen











In PHP sollten die Funktionen für Passwort_Hash und passwart_verify verwendet werden, um sicheres Passwort -Hashing zu implementieren, und MD5 oder SHA1 sollte nicht verwendet werden. 1) Passwort_hash generiert einen Hash, der Salzwerte enthält, um die Sicherheit zu verbessern. 2) Passwort_Verify prüfen Sie das Passwort und sicherstellen Sie die Sicherheit, indem Sie die Hash -Werte vergleichen. 3) MD5 und SHA1 sind anfällig und fehlen Salzwerte und sind nicht für die Sicherheit der modernen Passwort geeignet.

PHP -Typ -Eingabeaufforderungen zur Verbesserung der Codequalität und der Lesbarkeit. 1) Tipps zum Skalartyp: Da Php7.0 in den Funktionsparametern wie int, float usw. angegeben werden dürfen. 3) Eingabeaufforderung für Gewerkschaftstyp: Da Php8.0 in Funktionsparametern oder Rückgabetypen angegeben werden dürfen. 4) Nullierstyp Eingabeaufforderung: Ermöglicht die Einbeziehung von Nullwerten und Handlungsfunktionen, die Nullwerte zurückgeben können.

PHP ist hauptsächlich prozedurale Programmierung, unterstützt aber auch die objektorientierte Programmierung (OOP). Python unterstützt eine Vielzahl von Paradigmen, einschließlich OOP, funktionaler und prozeduraler Programmierung. PHP ist für die Webentwicklung geeignet, und Python eignet sich für eine Vielzahl von Anwendungen wie Datenanalyse und maschinelles Lernen.

Die Verwendung von Vorverarbeitungsanweisungen und PDO in PHP kann SQL -Injektionsangriffe effektiv verhindern. 1) Verwenden Sie PDO, um eine Verbindung zur Datenbank herzustellen und den Fehlermodus festzulegen. 2) Erstellen Sie Vorverarbeitungsanweisungen über die Vorbereitungsmethode und übergeben Sie Daten mit Platzhaltern und führen Sie Methoden aus. 3) Abfrageergebnisse verarbeiten und die Sicherheit und Leistung des Codes sicherstellen.

PHP und Python haben ihre eigenen Vor- und Nachteile, und die Wahl hängt von den Projektbedürfnissen und persönlichen Vorlieben ab. 1.PHP eignet sich für eine schnelle Entwicklung und Wartung großer Webanwendungen. 2. Python dominiert das Gebiet der Datenwissenschaft und des maschinellen Lernens.

PHP verwendet MySQLI- und PDO-Erweiterungen, um in Datenbankvorgängen und serverseitiger Logikverarbeitung zu interagieren und die serverseitige Logik durch Funktionen wie Sitzungsverwaltung zu verarbeiten. 1) Verwenden Sie MySQLI oder PDO, um eine Verbindung zur Datenbank herzustellen und SQL -Abfragen auszuführen. 2) Behandeln Sie HTTP -Anforderungen und Benutzerstatus über Sitzungsverwaltung und andere Funktionen. 3) Verwenden Sie Transaktionen, um die Atomizität von Datenbankvorgängen sicherzustellen. 4) Verhindern Sie die SQL -Injektion, verwenden Sie Ausnahmebehandlung und Schließen von Verbindungen zum Debuggen. 5) Optimieren Sie die Leistung durch Indexierung und Cache, schreiben Sie hochlesbarer Code und führen Sie die Fehlerbehandlung durch.

PHP wird verwendet, um dynamische Websites zu erstellen. Zu den Kernfunktionen gehören: 1. Dynamische Inhalte generieren und Webseiten in Echtzeit generieren, indem Sie eine Verbindung mit der Datenbank herstellen; 2. Verarbeiten Sie Benutzerinteraktions- und Formulareinreichungen, überprüfen Sie Eingaben und reagieren Sie auf Operationen. 3. Verwalten Sie Sitzungen und Benutzerauthentifizierung, um eine personalisierte Erfahrung zu bieten. 4. Optimieren Sie die Leistung und befolgen Sie die Best Practices, um die Effizienz und Sicherheit der Website zu verbessern.

PHP eignet sich für Webentwicklung und schnelles Prototyping, und Python eignet sich für Datenwissenschaft und maschinelles Lernen. 1.PHP wird für die dynamische Webentwicklung verwendet, mit einfacher Syntax und für schnelle Entwicklung geeignet. 2. Python hat eine kurze Syntax, ist für mehrere Felder geeignet und ein starkes Bibliotheksökosystem.
