How to install and configure Xdebug in linux

Antonio Silva - Jan 31 - - Dev Community

Xdebug is an extension for PHP and provides a variety of features to improve the PHP development experience.

Installation

Installing Xdebug with a package manager is usually the quickest way. Depending on your distribution, run the following command

Ubuntu (18.04 LTS/Bionic, 20.04 LTS/Focal):

sudo apt-get install php-xdebug
Enter fullscreen mode Exit fullscreen mode

Ubuntu (Ondřej Surý's PPA):

sudo apt-get install php(version)-xdebug
Enter fullscreen mode Exit fullscreen mode

For other linux distributions here.

Installing with PECL

You can install Xdebug via PECL on Linux with Homebrew.

Prerequisites:

  • GCC and associated libraries.

  • PHP development headers.

Run:

pecl install xdebug
Enter fullscreen mode Exit fullscreen mode

Configuring

First we have to find the xdebug configuration file, on linux it is located in the following path:

cd /etc/php/your_php_version/mods-available
Enter fullscreen mode Exit fullscreen mode

In this directory you will find xdebug.ini, the xdebugconfiguration file and open the file with a code editor.

sudo your_editor xdebug.ini
Enter fullscreen mode Exit fullscreen mode

Enter the following settings:

zend_extension=xdebug.so
xdebug.mode=debug,develop
xdebug.start_with_request=yes
xdebug.client_port=8000
xdebug.client_host=127.0.0.1
xdebug.cli_color=1
xdebug.show_local_vars=1
Enter fullscreen mode Exit fullscreen mode

In xdebug.client_port enter the port you use in your applications.

Let's check that xdebug has been installed and is working. To do this, use the following php code:

phpinfo();
Enter fullscreen mode Exit fullscreen mode

In the php info you should find an xdebug section.

1

Solving a problem

In the image above, it shows that our xdebug has the Development Helpers and Step Debugger modes active, but if in a given project we want to activate or deactivate any mode without touching the main xdebug file.

To make this possible, we'll use the XDEBUG_MODE environment variable, as in the example below:

XDEBUG_MODE=coverage php -S 127.0.0.1:8000
Enter fullscreen mode Exit fullscreen mode

If we check again in the xdebug section we will only have coverage mode enabled

2

Here are the instructions for the other modes and all the possible xdebug configurations.

This concludes our guide to installing and configuring xdebug on linux.

Don't forget to add a reaction if the post has helped.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .