How to install xdebug on your local version of Mac OS PHP and enable it in PhpStorm for local development? In this tutorial we will explain you how.

 

Install xdebug on your MAC OS Catalina

 

In order to use xdebug we have to install it. There is a lot of tutorials on the internet, but i found this process easiest.

Actually we will update our local version of PHP with the latest PHP version with included xdebug (and bunch of others extensions: zip, redis, curl...).

Detailed steps how to do that you can find here:

After we updated our php version, make sure that we have xdebug installed:

                    php -m
                  

if you can not see the extension, make sure that you are using newly installed version:

                    php -v
                  

if you still do not see the newly installed PHP version, use this command:

                    export PATH=/usr/local/php5/bin:$PATH
                  

after that command is executed,  you should see this (in our case we have installed PHP 7.3.8 version):

ok, now if you type php -m in your command line, you should see xdebug on the list.

 

Set up XDEBUG with PhP Storm

Find your PHP ini settings for xdebug, type:

                    php --ini
                  

You should get the list of php ini file used for your instance of PHP:

                    Configuration File (php.ini) Path: /usr/local/php5/lib
Loaded Configuration File:         /usr/local/php5/lib/php.ini
Scan for additional .ini files in: /usr/local/php5/php.d
Additional .ini files parsed:      /usr/local/php5/php.d/10-extension_dir.ini,
/usr/local/php5/php.d/20-extension-opcache.ini,
/usr/local/php5/php.d/40-curl.ini,
/usr/local/php5/php.d/40-openssl.ini,
/usr/local/php5/php.d/50-extension-apcu.ini,
/usr/local/php5/php.d/50-extension-curl.ini,
/usr/local/php5/php.d/50-extension-gmp.ini,
/usr/local/php5/php.d/50-extension-igbinary.ini,
/usr/local/php5/php.d/50-extension-imap.ini,
/usr/local/php5/php.d/50-extension-intl.ini,
/usr/local/php5/php.d/50-extension-mcrypt.ini,
/usr/local/php5/php.d/50-extension-mongodb.ini,
/usr/local/php5/php.d/50-extension-mssql.ini,
/usr/local/php5/php.d/50-extension-pdo_pgsql.ini,
/usr/local/php5/php.d/50-extension-pgsql.ini,
/usr/local/php5/php.d/50-extension-propro.ini,
/usr/local/php5/php.d/50-extension-raphf.ini,
/usr/local/php5/php.d/50-extension-readline.ini,
/usr/local/php5/php.d/50-extension-redis.ini,
/usr/local/php5/php.d/50-extension-xdebug.ini,
/usr/local/php5/php.d/50-extension-xsl.ini,
/usr/local/php5/php.d/99-liip-developer.ini
                  

Select usr/local/php5/php.d/50-extension-xdebug.ini and open it with command:

                    sudo nano /usr/local/php5/php.d/50-extension-xdebug.ini
                  

And make sure that you have these lines inside of that xdebug ini file:

                    zend_extension=/usr/local/php5/lib/php/extensions/no-debug-non-zts-20180731/xdebug.so
[xdebug]
xdebug.remote_enable=on
xdebug.default_enable=on
xdebug.remote_autostart=off
xdebug.remote_port=9000
xdebug.remote_host=localhost
xdebug.profiler_enable_trigger=1
xdebug.profiler_output_name=xdebug-profile-cachegrind.out-%H-%R
xdebug.var_display_max_children = 128
xdebug.var_display_max_data = 512
xdebug.var_display_max_depth = 3
xdebug.remote_enable = 1
xdebug.idekey = PHPSTORM
xdebug.show_error_trace = 1
xdebug.file_link_format = phpstorm://open?%f:%l
                  

After that, our xdebug should be set.

 

Now let's go to PhpStorm and make some settings there. Go to Settings/Preferences dialog ⌘,, select Languages & Frameworks | PHP

Here the settings should look like this:

 

Update your Automatically detect IDE IP if needed, and press OK

 

Install Xdebug helper to your Chrome browser:

https://chrome.google.com/webstore/detail/xdebug-helper/eadndfjplgieldjbigjakmdgkmoaaaoc

Do not forget to enable "Start listening for debug connections"

 

And that is it

 

If you don't know...

Now you know!