Debugging mit Xdebug und PhpStorm auf Uberspace

Bisher hat sich mein Einsatz von Xdebug zum Debugging von PHP auf meinen lokalen XAMPP-Server beschränkt. Nun musste ich kürzlich zum Debuggen eines Problems mit PayPal in WooCommerce aber Xdebug auf einem Remote-Server nutzen – hier erkläre ich kurz, wie das auf Uberspace funktioniert.

Die Installation von Xdebug auf Uberspace ist recht einfach – das Ausführen des folgenden Befehls ist alles, was ihr tun müsst:

uberspace-install-pecl xdebug

Mein Ende der php.ini mit den Infos zu Xdebug sieht so aus:

extension_dir = /home/userName/pecl
zend_extension = xdebug.so
xdebug.default_enable = 1
xdebug.remote_enable = 1
xdebug.remote_handler = dbgp
xdebug.remote_host = 127.0.0.1
xdebug.remote_port = 9000
xdebug.remote_autostart = 1
xdebug.idekey = PHPSTORM

Die Angaben müsst ihr natürlich gegebenenfalls anpassen – mindestens userName gegen euren Uberspace-Nutzernamen austauschen.

In PhpStorm sehen die Einstellungen unter Languages & FrameworksPHPServers so aus:

PHP-Servers-Einstellungen in PhpStorm. (Screenshot: PhpStorm)
  • Für Name und Host gebe ich die Domain an.
  • Port ist 80, Debugger ist Xdebug.
  • Ein Haken bei Use path mappings.
  • Für den lokalen Ordner des Projekts wird der entsprechende absolute Pfad auf dem Remote-Server angegeben.

Bevor nun auf Xdebug auf dem Remote-Server gelauscht werden kann, muss ein SSH-Tunnel zum Server aufgebaut werden. Dabei muss derselbe Port genutzt werden, der in den Xdebug-Einstellungen von PhpStorm und der php.ini angegeben ist (in meinem Fall, und das ist glaube ich der Standardwert, 9000). Das sieht so aus:

ssh -R 9000:localhost:9000 user@server.de

Danach kann mit dem Debuggen angefangen werden. Wie der SSH-Tunnel auf Windows mit Putty eingerichtet werden kann, könnt ihr im Confluence von JetBrains nachlesen. Der Weg oben funktioniert für Linux, Mac und auf dem Linux Subsystem on Windows 10.

Danke an Lukas, der mir dabei geholfen hat, das Ganze zum Laufen zu kriegen 🙂

Veröffentlicht in Tipps.

Das könnte auch interessant sein

Schreib einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.