Preparing the debugging engine
Before you start debugging, make sure that you have a debugging engine installed and configured properly. IntelliJ IDEA supports debugging with two most popular tools: XDebug and Zend Debugger. These tools cannot be used simultaneously because they block each other. To avoid this problem, you need to update the corresponding sections in the php.ini file. To find out which php.ini file is active, create and run a test file with phpinfo(), then search for the Loaded Configuration File.
For more information on configuring debugging engines, see Configuring XDebug, Configuring Zend Debugger, http://confluence.jetbrains.com/display/PhpStorm/Xdebug+Installation+Guide, and http://confluence.jetbrains.com/display/PhpStorm/Zend+Debugger+Installation+Guide.
IntelliJ IDEA agglutinates the settings specified in this configuration into a PHP HTTP request.
Open the Run/Debug Configuration dialog box by doing one of the following:
- On the main menu, choose .
- Press Alt+Shift+F10Alt+Shift+F10Alt+Shift+F10Alt+Shift+F10Alt+Shift+F10Alt+Shift+F10Alt+Shift+F10Alt+Shift+F10Alt+Shift+F10Alt Shift F10Alt Shift F10Control Alt R, then press 0 to display the Edit Configuration dialog box or select the configuration from the pop-up window and press F4F4F4F4F4F4F4F4F12 or Ctrl+Shift+EF4F4F3.
- Click on the toolbar or press InsertInsertInsertInsertInsertInsertInsertInsertInsertInsertInsertShift Backspace. From the drop-down list, select the PHP HTTP Request configuration type. The PHP HTTP Request dialog box opens.
- Specify the configuration name.
- In the Server drop-down list, specify the debug server configuration to interact with the Web server where the application is executed. Select one of the existing configurations or click the Browse button and define a debug server configuration in the Servers dialog box that opens.
- In the URL text box, complete the host element of the request to debug. Type the path relative to the host specified in the debug server configuration. As you type, IntelliJ IDEA composes the URL address on-the-fly and displays it below the text box.
Specify whether you want to bring any data to the target page. From the Request method drop-down list, choose the relevant request type:
- To access the page without bringing any data, choose GET.
- To access the page with some data saved in variables, choose POST and type the relevant variables in the Request body text box.
- In the Query text box, type the query string of the request. This string will be appended to the request after the ? symbol.
- Click OK, when ready.
- In the file, that implements the page in question, set the breakpoints, where necessary.
- Click the Debug button on the toolbar.
- Examine the application as soon as the debugger suspends on reaching the first breakpoint.