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

Undress AI Tool
Ausziehbilder kostenlos

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

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

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

TosecurelyHandleAuthenticationAuthorizationInphp, folge theSteps: 1.Alwayshashpasswordswithpassword_hash () und password_verify (), usePreeParedStatementStopreventsQlinjapitca und StoreuserDatain $ _SessionArtelogin.2.ImplementscaChescescesc

Um Datei -Uploads in PHP sicher zu verarbeiten, besteht der Kern darin, Dateitypen zu überprüfen, Dateien umzubenennen und die Berechtigungen zu beschr?nken. 1. Verwenden Sie Finfo_File (), um den realen MIME -Typ zu überprüfen, und nur bestimmte Typen wie Bild/JPEG sind zul?ssig. 2. Verwenden Sie Uniqid (), um zuf?llige Dateinamen zu generieren und sie im Root-Verzeichnis ohne Web zu speichern. 3.. Begrenzen Sie die Dateigr??e durch Php.ini- und HTML -Formulare und setzen Sie die Verzeichnisberechtigungen auf 0755; 4. Verwenden Sie Clamav, um Malware zu scannen, um die Sicherheit zu verbessern. Diese Schritte verhindern effektiv Sicherheitslücken und stellen sicher, dass der Upload -Prozess des Datei -Uploads sicher und zuverl?ssig ist.

In PHP ist der Hauptunterschied zwischen == und == die Strenge der Typprüfung. == Die Konvertierung des Typs wird vor dem Vergleich durchgeführt, beispielsweise 5 == "5" gibt true zurück und === fordert an, dass der Wert und der Typ gleich sind, bevor True zurückgegeben wird, z. B. 5 === "5" gibt false zurück. In den Nutzungsszenarien ist === sicherer und sollte zuerst verwendet werden, und == wird nur verwendet, wenn die Typumwandlung erforderlich ist.

Die Methoden zur Verwendung grundlegender mathematischer Operationen in PHP sind wie folgt: 1. Additionszeichen unterstützen Ganzfaktoren und Floating-Punkt-Zahlen und k?nnen auch für Variablen verwendet werden. String -Nummern werden automatisch konvertiert, aber nicht für Abh?ngigkeiten empfohlen. 2. Subtraktionszeichen verwenden - Zeichen, Variablen sind gleich, und die Typumwandlung ist ebenfalls anwendbar. 3. Multiplikationszeichen verwenden * Zeichen, die für Zahlen und ?hnliche Zeichenfolgen geeignet sind; 4. Division verwendet / Zeichen, die vermeiden müssen, durch Null zu dividieren, und beachten Sie, dass das Ergebnis m?glicherweise schwimmende Punktzahlen sein kann. 5. Die Modulzeichen k?nnen verwendet werden, um ungerade und sogar Zahlen zu beurteilen, und wenn negative Zahlen verarbeitet werden, stimmen die Restzeichen mit der Dividende überein. Der Schlüssel zur korrekten Verwendung dieser Operatoren liegt darin, sicherzustellen, dass die Datentypen klar sind und die Grenzsituation gut behandelt wird.

Ja, PHP kann mit NoSQL -Datenbanken wie MongoDB und Redis durch bestimmte Erweiterungen oder Bibliotheken interagieren. Verwenden Sie zun?chst den MongoDBPHP -Treiber (installiert über PECL oder Composer), um Client -Instanzen zu erstellen und Datenbanken und Sammlungen zu betreiben, wobei Sie Insertion, Abfrage, Aggregation und andere Vorg?nge unterstützen. Zweitens verwenden Sie die Predis Library oder PHPREDIS-Erweiterung, um eine Verbindung zu Redis herzustellen, Schlüsselwerteinstellungen und -akquisitionen durchzuführen und PHPREDIS für Hochleistungsszenarien zu empfehlen, w?hrend Predis für die schnelle Bereitstellung bequem ist. Beide sind für Produktionsumgebungen geeignet und gut dokumentiert.

TostaycurrentwithPHPdevelopmentsandbestpractices,followkeynewssourceslikePHP.netandPHPWeekly,engagewithcommunitiesonforumsandconferences,keeptoolingupdatedandgraduallyadoptnewfeatures,andreadorcontributetoopensourceprojects.First,followreliablesource

PHPBECAMEPOPULARFORWebDevelopmentDuetoitSeaseoflearning, Seamlessintegrationwithhtml, weit verbreitete Hostingsupport, andalargeecosystemincludingFrameWorkelaravelandcmsplatformen -?hnliche WordPress.itexcelsinformlingsformen, Managingusesersions, Interacti

Tosettherighttimezoneinphp, usedate_default_timezone_set () functionAtthestartofyourScriptWithAvalididentifiersuchas'america/new_york'.1.usedate_default_timezone_set () beeanydate/timeFununtions.2.Alternativ, konfigurieren
