Blog

Setting up Xdebug (Laravel Valet / PHP 7.4 / PHPStorm)

IDE / Editor

This tutorial describes how to set up Xdebug in combination with Laravel Valet, PHP 7.4, and PHPStorm. The prerequisite is that Laravel Valet is installed as described here.

Installing Xdebug

The first step is to prepare PECL:

pecl channel-update pecl.php.net ; pecl clear-cache

Now, we can install Xdebug:

pecl install xdebug

Next, restart Laravel Valet:

valet restart

In the next step, we check if XDebug is installed correctly:

php -m | grep 'xdebug'

The output should contain xdebug.

Now we need to find out if Xdebug is correctly included in the php.ini file. Execute the following command:

php --ini

The output provides the path to the php.ini. In my case, it is:

/usr/local/etc/php/7.4/php.ini

At the beginning of the file, the following two lines should be present:

zend_extension="xdebug.so"
xdebug.mode=debug

If these two lines are not present anywhere in the file, please add/modify them accordingly.

Then restart Valet again:

valet restart

Next, you need to install a browser extension for Chrome or Firefox to enable browser output debugging. More information can be found here.

When debugging command-line scripts, debugging can be easily enabled in PHPStorm. When debugging local websites, you need to set a corresponding cookie using one of the browser extensions mentioned above. Then, debugging needs to be enabled in PHPStorm to debug the page accordingly.

Further information on this topic can be found in the corresponding PHPStorm documentation.