Configuring the Xdebug tool involves:
- Downloading and installing the Xdebug debugging engine
- Enabling Xdebug integration with the PHP engine
- Integrating Xdebug with IntelliJ IDEA
- Download the Xdebug
extension compatible with your version of PHP
and save it in the php/folder.-
The location of the
php/folder is defined during the installation of the PHP engine. -
If you are using an AMP package, the Xdebug extension may be already installed.
Follow the instructions in the
xdebug.txt.
-
The location of the
- Open the active
php.inifile in the editor:- Open the Settings / Preferences Dialog by choosing for Windows and Linux or for OS X, and click PHP under Languages&Frameworks.
-
On the PHP page that opens, click
next to the Interpreter field.
-
In the Interpreters dialog box that opens, the Configuration File read-only field
shows the path to the active
php.inifile. Click Open in Editor.
- To disable the Zend optimizer, which blocks Xdebug, remove the
[Zend]section or mark it as comment in thephp.inifile:[Zend] zend_extension_ts = "<path to ZendExtensionManager.dll>" zend_extension_manager.optimizer_ts = "<path to Zend Optimizer>" zend_optimizer.enable_loader = 0 zend_optimizer.optimization_level=15 zend_optimizer.license_path = Local Variables: tab-width: 4 End: - To enable Xdebug, locate the
[Xdebug]section in thephp.inifile and update it as follows:- For a thread-safe PHP engine, version 5.2:
[Xdebug] zend_extension_ts="<path to php_xdebug.dll>" xdebug.remote_enable=true xdebug.remote_port="<the port for Xdebug to listen to>" (the default port is 9000) xdebug.profiler_enable=1 xdebug.profiler_output_dir="<AMP home\tmp>" - For a non-thread-safe PHP engine, version 5.2:
[Xdebug] zend_extension_nts="<path to php_xdebug.dll>" xdebug.remote_enable=true xdebug.remote_port="<the port for Xdebug to listen to>" (the default port is 9000) xdebug.profiler_enable=1 xdebug.profiler_output_dir="<AMP home\tmp>" - For any PHP engine, version 5.3 and higher:
[Xdebug] zend_extension="<path to php_xdebug.dll>" xdebug.remote_enable=1 xdebug.remote_port="<the port for Xdebug to listen to>" (the default port is 9000) xdebug.profiler_enable=1 xdebug.profiler_output_dir="<AMP home\tmp>"
- For a thread-safe PHP engine, version 5.2:
-
To enable multiuser debugging via Xdebug proxies,
locate the
xdebug.idekeysetting and assign it a value of your choice. This value will be used to register your IDE on Xdebug proxy servers. - Save and close the
php.inifile.
- Open the Settings / Preferences Dialog by choosing for Windows and Linux or for OS X, and click PHP under Languages&Frameworks.
-
Check the Xdebug installation associated with the selected PHP interpreter:
-
On the PHP page, choose the relevant PHP installation from the Interpreter drop-down list
and click the Browse button
next to the field.
The list shows all the PHP installations available in IntelliJ IDEA, see Enabling PHP Support.
-
The Interpreters dialog box that opens shows the following:
- The version of the selected PHP installation.
-
The name and version of the debugging engine associated with the selected PHP installation (Xdebug or Zend Debugger).
If no debugger is configured, IntelliJ IDEA shows
Debugger: Not installed.
Alternatively, open the Xdebug checker
, paste the output of the phpinfo(), and click Analyze my phpinfo() output.Learn more about checking the Xdebug installation in Validating the Configuration of a Debugging Engine.
-
On the PHP page, choose the relevant PHP installation from the Interpreter drop-down list
and click the Browse button
- Define the Xdebug behaviour. Click Debug under the PHP node.
On the Debug page that opens, specify the following settings in the Xdebug area:
-
In the Debug Port text box, appoint the port through which the tool will communicate with IntelliJ IDEA.
This must be exactly the same port number as specified in the
php.inifile:xdebug.remote_port = <port_number>By default, Xdebug listens on port 9000.
- To have IntelliJ IDEA accept any incoming connections from Xdebug engines through the port specified in the Debug port text box, select the Can accept external connections check box.
- To have addresses of variables shown during a debugging session, select the Show variables addresses check box.
-
To have IntelliJ IDEA apply a workaround to overcome a known Xdebug on FreeBSD crash issue
,
select the Enable workaround for [Xdebug on FreeBSD crash] check box.
-
In the Debug Port text box, appoint the port through which the tool will communicate with IntelliJ IDEA.
This must be exactly the same port number as specified in the
- To have Xdebug stop as soon as connection between it and IntelliJ IDEA is established (instead of running automatically until the first breakpoint is reached), turn on the option on the main menu.