Einrichten von XDebug mit PHPStorm und Valet Development Umgebung

Vorbereitung:

  1. Homebrew sollte installiert sein
  2. Valet sollte installiert sein und laufen: https://laravel.com/docs/7.x/valet
  3. Browser Extension für PHPSTORM sollte installiert sein: https://www.jetbrains.com/help/phpstorm/browser-debugging-extensions.html
gerry@webgarten ~ % brew install pecl
gerry@webgarten ~ % pecl install xdebug

Bei Fehlermeldung:
Warning: mkdir(): File exists in System.php on line 294
PHP Warning: mkdir(): File exists in /usr/local/Cellar/php/7.4.7/share/php/pear/System.php on line 294
Warning: mkdir(): File exists in /usr/local/Cellar/php/7.4.7/share/php/pear/System.php on line 294
ERROR: failed to mkdir /usr/local/Cellar/php/7.4.7/pecl/20190902
Abhilfe:
gerry@webgarten ~ % mkdir -p /usr/local/lib/php/pecl
gerry@webgarten ~ % pecl install xdebug
Installing '/usr/local/Cellar/php/7.4.7/pecl/20190902/xdebug.so'
install ok: channel://pecl.php.net/xdebug-2.9.6
Extension xdebug enabled in php.ini

gerry@webgarten ~ % valet restart
gerry@webgarten ~ % php -m | grep xdebug

[nothing found]

Abhilfe: Zu PHP.ini hinzufügen, dazu erstmal PHP.ini finden:

gerry@webgarten ~ % php --ini
configuration File (php.ini) Path: /usr/local/etc/php/7.4
Loaded Configuration File: /usr/local/etc/php/7.4/php.ini
Scan for additional .ini files in: /usr/local/etc/php/7.4/conf.d
Additional .ini files parsed: /usr/local/etc/php/7.4/conf.d/ext-opcache.ini,
/usr/local/etc/php/7.4/conf.d/php-memory-limits.ini
gerry@webgarten ~ % subl /usr/local/etc/php/7.4/php.ini

Wir benutzen Sublime, jeder andere Texteditor tut es auch. Einfügen in PHP.ini:
zend_extension="xdebug.so"
xdebug.remote_enable=1
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.remote_autostart=1

Execution Time kann man in der php.ini gleich mit anpassen, um frühen Timeout (504) von Nginx beim Debuggen zu verhindern:
max_execution_time = [Anzahl_in_Sekunden] zB 1800

php.ini speichern und los:
gerry@webgarten ~ % valet restart

Happy Debugging!

 

Siehe auch

Weitere Techdoks und Snippets

Shortcode E-Mail Obfuscator

Folgendes Shortcode-Snippet ist nützlich, um E-Mails zu verschleiern, um sie vor SPAM zu schützen. Dazu der Hinweis, dass diese Methode nur funktioniert, wenn Javascript aktiviert ist. Darüber hinaus gibt es keinen 100%igen Schutz vor Bots,…

Elementor Beiträge Widget mit ACF Beziehungsfeld füllen

Mit dem Beiträge Widget in Elementor kann man schon recht bequem in einer Schleife andere Beiträge, Seiten, Produkte oder Custom Post Types (CPT) ( = Benutzerdefinierte Inhaltstypen) auf einer Seite darstellen. Knifflig wird es dann…

PHPStorm: Local Changelist in Git Tool verschwunden

Problem: Local Change List unter PHPStorm fehlt im Git Tool Lösung: Ich hatte ab und zu das Phänomen, dass die Local Changelist (die Dateien in meiner Versionskontrolle) im Git Tool als Tabreiter nicht sichtbar waren.…

Variable in Blade Komponente nicht verfügbar

Problem: Die Parameterübergabe eines Blade-Attributes funktioniert nicht, die Variable in der Komponente ist leer. Es gibt keine Fehlermeldung, sondern die Variable scheint nicht übergeben worden zu sein. Lösung: Eventuell liegt der Fehler in der Benutzung…

Tailwind Autocomplete mit PHPStorm (WebStorm) funktioniert nicht

Problem: Falls Sie z.B. eine Laravel App erstellen und sich darüber wundern, warum PHPStorm oder WebStorm die Autovervollständigung für Ihre CSS Klassen in Blade Templates oder HTML-Dateien nicht durchführt, liegt es höchstwahrscheinlich daran, dass die…

WP CLI Error: Error establishing a database connection.

Auftauchen: Befehle über WP CLI absetzen, Wordpress im Browser funktioniert jedoch. Dieser Fehler tritt häufig auf, wenn der WP CL Interpreter die Datenbankverbindung in wp-config.php nicht richtig interpretieren kann. Lösung: In 99% aller Fälle den…

Mit Alfred sehr schnell Px in REM / EM umrechnen

Auf dem Mac gibt es einen wunderbaren Alfred-Workflow, der Px in Rem umrechnet: Download Direktlink: https://raw.githubusercontent.com/vitorgalvao/requested-alfred-workflows/master/Workflows/Px%20Rem%20Em.alfredworkflow Einfach installieren, dann CMD-Space: Alfred Bar "pxrem" tippen und die Zahl in Pixel angeben. Die Umrechnung in REM wird…