"Xdebug is an extension for PHP, and provides a range of features to improve the PHP development experience. Step Debugging A way to step through your code in your IDE or editor while the script is executing."
Source: https://xdebug.org/
Install following the instructions from https://xdebug.org/docs/install
Note, PHP 8 settings are different than earlier versions of PHP, xdebug
For PHP 7 settings, see the prior post
Enable PHP xdebug from the command line
Download and place the xdebug extension in php\ext
C:\laragon8\bin\php\php-8.0.11-Win32-vs16-x64\ext
Configure your PHP 8 php.ini settings:
zend_extension=xdebug-3.0.4-8.0-vs16-x86_64
[xdebug]
xdebug.mode=debug
xdebug.start_with_request=yes
xdebug.client_host=127.0.0.1
xdebug.client_port=9081
xdebug.idekey=PHPSTORM
Note, if you use xdebug.start_with_request=trigger, this may be more efficient for large code paths as xdebug should only be started when you send a request with XDEBUG_SESSION set, which can be set via xdebug helper for chrome or xdebug helper for firefox
You can also add arguments to your PHP call
> php -d -dxdebug.mode=debug -dxdebug.start_with_request=yes -dxdebug.client_host=127.0.0.1 -dxdebug.client_port=9081 -dxdebug.idekey=PHPSTORM your/script.php
The option -d can set/override php.ini values
-d foo[=bar] Define INI entry foo with value 'bar'
Reference: https://www.php.net/manual/en/features.commandline.options.php
If you are using the conemu console you can add the alias to your settings -> startup -> environment
alias xphp8=C:/laragon80/bin/php/php-8.0.11-Win32-vs16-x64/php -dxdebug.mode=debug -dxdebug.start_with_request=yes -dxdebug.client_host=127.0.0.1 -dxdebug.client_port=9081 -dxdebug.idekey=PHPSTORM $*
alias php8=C:/laragon80/bin/php/php-8.0.11-Win32-vs16-x64/php $*
If you are using git for windows, which adds bash, you can add the same aliases
Edit your .bashrc
C:\Users\[youruser]\.bashrc
alias xphp8="C:/laragon80/bin/php/php-8.0.11-Win32-vs16-x64/php -dxdebug.mode=debug -dxdebug.start_with_request=yes -dxdebug.client_host=127.0.0.1 -dxdebug.client_port=9081 -dxdebug.idekey=PHPSTORM $*"
alias php8="C:/laragon80/bin/php/php-8.0.11-Win32-vs16-x64/php $*"
And use as
> xphp8 slimapp/cli.php arg1 arg2=test
Reference:Slim PHP CLI