Wie debugge ich Magento 2-Code bei Verwendung von Befehlszeilen?

10

Das Ausführen eines Skripts in der Befehlszeile wird in Magento 2 häufig ausgeführt. Wenn Sie beispielsweise ein neues Modul erstellen, müssen Sie den setup:upgradeBefehl ausführen . Wir können nicht alle Informationen sehen, die wir wissen müssen.

Ich weiß, dass viele Magento-Entwickler PHPStorm als ihren Lieblingseditor wählen. Wie können wir PHPStorm verwenden, um Magento 2-Befehlszeilen zu debuggen?

Khoa TruongDinh
quelle

Antworten:

17

Ich habe " PHP Remote Debug " in PHPStorm konfiguriert und einfach XDEBUG_CONFIG vor dem Skript hinzugefügt, um das Debuggen zu starten.

mögen XDEBUG_CONFIG=idekey=phpstorm bin/magento setup:upgrade

KAndy
quelle
So richten Sie das Debuggen lokal ein. Ich verwende PHP 5.5.15 mit xdebug 2.2.3 unter Windows 10 und xampp. Aktivieren Sie das Abhören und Einstellen in der Konfiguration, aber das Konsolen-Debugging wird ohne Protokolle ausgeführt
mrtuvn
Hoffe, diese Dokumentation hilft Ihnen Confluence.jetbrains.com/display/PhpStorm/…
KAndy
es funktioniert perfekt!
Mrtuvn
2

Die Antwort von @ KAndy hat mich auf den richtigen Weg gebracht, aber ich entwickle mich lokal mit Vagrant und musste Folgendes tun, damit dies funktioniert 1

Konfigurieren Sie Xdebug:

zend_extension=xdebug.so
xdebug.remote_enable = 1

;remote_connect_back will fail because REMOTE_ADDR header wont be set
xdebug.remote_connect_back = 1
xdebug.remote_autostart = 1
xdebug.idekey = "PHPSTORM"

;remote_host is ignored when remote_connect_back is enabled & successful; fallback
;Set to your HOST MACHINE IP
xdebug.remote_host=xx.xx.xx.xx 

;provides valuable insight if you cant connect. Remove when done.
xdebug.remote_log="/tmp/xdebug.log"

Stellen Sie die remote_hostIP auf die IP-Adresse des Hosts ein (für mich hat die Verwendung der IP-Adresse ifconfigauf dem Gastcomputer nicht funktioniert - verwendete IP-Adresse, die aus den Netzwerkeinstellungen auf dem Hostcomputer als erhalten wurde remote_host).

Konfigurieren Sie PHP Storm

  1. Richten Sie einen Server unter ein, Settings -> Languages and Frameworks -> PHP -> Serversfalls Sie dies noch nicht getan haben. (Siehe Screenshot) Beispiel Servereinstellungen unter PHP Storm
  2. Run -> Edit Configurations und füge a hinzu PHP Remote Debug.
    • Wählen Sie den Server aus, den Sie in # 1 erstellt haben
    • Setzen Sie den IDE-Schlüssel auf PHPSTORM Konfigurationseinstellungen
  3. (Optional) Settings -> Languages and Frameworks -> PHP -> DebugAktivieren Sie "In der ersten Zeile in PHP-Skripten unterbrechen" (dies kann beim Debuggen von Problemen mit Ihrer Pfadzuordnung helfen.)
  4. Run -> Debug Vagrant (oder wie auch immer Sie Ihre Konfiguration in Schritt 2 benannt haben)
  5. Führen Sie das Skript aus, das Sie debuggen möchten ( magento setup:upgradein meinem Fall).

1 Ich verwende Ubuntu / Trusty64 als Referenz

Phil Birnie
quelle