Vorbereitung:
- Homebrew sollte installiert sein
- Valet sollte installiert sein und laufen: https://laravel.com/docs/7.x/valet
- 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!