[PHP] Setup Xdebug with VS Code for macOS
- On macOS, you should have PHP installed with Homebrew, by this you will have pecl installed as well.
Installing with PECL
pecl install xdebug
peclwill change thephp.inifile to add a configuration line to load Xdebug, you can check it by running$ php -von terminal, you should see information like below:PHP 7.4.20 (cli) (built: Jun 4 2021 03:32:07) ( NTS ) Copyright (c) The PHP Group Zend Engine v3.4.0, Copyright (c) Zend Technologies with Xdebug v3.0.4, Copyright (c) 2002-2021, by Derick Rethans with Zend OPcache v7.4.20, Copyright (c), by Zend Technologies
Xdebug Installation Wizard
Create a simple
test.phpto print outphpinfo()and next step test.<?php echo phpinfo() ?>
Go this website: https://xdebug.org/wizard , paste the full output of test.php or by php command $ php -i, and then click “Analyse my phpinfo() output”.
The output might be very long, there’s 1,052 lines in my case
You will see the Summary and the line says “You’re already running the latest Xdebug version”.
Follow the instruction, we need to compile this PHP extensions by download xdebug-3.0.4.tgz.
Check you have these prerequisites tool
phpandautoconfinstalled or not.# install if you don't have these brew list | grep -E 'php|autoconf'- Unpack the downloaded file:
tar -xvzf xdebug-3.0.4.tgz - Run:
cd xdebug-3.0.4 Run:
phpizeAs part of its output it should show:
Configuring for: ... Zend Module Api No: 20190902 Zend Extension Api No: 320190902- Run:
./configure - Run:
make - Run:
cp modules/xdebug.so /usr/local/lib/php/pecl/20190902 - Update
/usr/local/etc/php/7.4/php.iniYou can locate your configuration file (
php.ini) by run$ php -i | grep php.iniAppend these configuration in the buttom of
php.ini:; Make sure this is the only line which assign `zend_extension` to `xdebug.so` zend_extension = /usr/local/lib/php/pecl/20190902/xdebug.so [xdebug] xdebug.start_with_request=yes xdebug.mode=debug xdebug.client_host = 127.0.0.1 xdebug.client_port = 9003 xdebug.show_exception_trace = On xdebug.remote_handler = dbgp
VSCode setup
Install the adapter extension: PHP Debug
Configure launch.json, setup listening default port of Xdebug: 9003

- Click launch and the debug toolbar will indicate (Listen for Xdebug)
- Place breakpoint on wherever you want, and run the php code, the cursor focus will be automatically switched back to the line of code, then you can play with the code on “DEBUG CONSOLE”.
- Disconnect debugger by the button on Debug toolbar (
⇧+F5), the display settings of debug toolbar could be found in vscode settings.
