IntelliJ IDEA 2021.2 Help

Configuring Local PHP Interpreters

A local PHP interpreter is a PHP engine installed on your computer opposite to a remote PHP interpreter that can be installed on a remote host or in a virtual environment set up in a Vagrant instance .

  1. Press Ctrl+Alt+S to open the IDE settings and select Languages and Frameworks | PHP.

  2. On the PHP page that opens, click the Browse button next to the CLI Interpreter list.

  3. In the CLI Interpreters dialog that opens, click the Add button in the left-hand pane, then choose Local from the popup menu.

    If you already have a local interpreter configured in IntelliJ IDEA, it is also shown from the menu and the menu item changes to Other Local.

  4. In the right-hand pane of the dialog, specify the PHP interpreter's settings.

    1. In the Name field, type the identifier to distinguish the interpreter from others, for example, php_installation_<version>.

    2. Specify the PHP engine installation directory in the PHP executable field. Type the path manually or click the Browse button and select the relevant folder in the dialog that opens.

      IntelliJ IDEA displays the version of the PHP engine detected in the specified folder and the debugger associated with this PHP engine in the php.ini file.

  5. In the Additional area of the CLI Interpreters dialog, you can optionally customize the configuration settings of the Java installation.

    • In the Debugger extension field, specify the path to Xdebug. This enables IntelliJ IDEA to activate Xdebug when it is necessary if you have disabled it in the php.ini file, see Configuring Xdebug for Using in the On-Demand Mode.

    • In the Configuration options field, compose a string of configuration directives to be passed through the -d command line option and thus add new entries to the php.ini file. The directives specified in this field override the default directives generated by IntelliJ IDEA, such as -dxdebug.remote_enable=1, -dxdebug.remote_host=127.0.0.1, -dxdebug.remote_port=9001, -dxdebug.remote_mode=req.

      For example, if you specify the -dxdebug.remote_mode=jit directive it will override the default -dxdebug.remote_mode=req directive and thus switch Xdebug to the Just-In-Time (JIT) mode, see Debug in the Just-In-Time mode for details.

      To do that, click the Browse button next to the Configuration options field, and then create a list of entries in the Configuration Options dialog that opens.

      • To add a new entry, click the Add button. In the new line, that is added to the list, specify the name of the new entry and its value in the Name and Value fields respectively.

        You can add as many entries as you need, just keep in mind that they will be transformed into a command line with its length limited to 256 characters.

      • To delete an entry, select it in the list and click the Remove button.

      • To change the order of entries, click the Up button or the Down button.

      Upon clicking OK, you return to the CLI Interpreters dialog, where the entries are transformed into a command line.

  6. Click the Show phpinfo button to have IntelliJ IDEA display a separate information window with the installation details and the list of loaded extensions and configured options. Note that the additional options specified in the Configuration Options field of the PHP Interpreters dialog are not listed.

Switch between configured PHP interpreters on the fly

  1. Press Ctrl+Shift+A and start typing Change PHP interpreter. In the suggestions list, select the Change PHP interpreter action.

    If necessary, you can assign a keyboard shortcut for this action either directly in the suggestions list by pressing Alt+Enter, or at a later point as described in Configure keyboard shortcuts.

  2. In the popup menu that opens, select one of the configured local or remote PHP interpreters.

The selected interpreter will be set as the default project interpreter on the PHP page of the Settings/Preferences dialog Ctrl+Alt+S. This will also affect the run/debug configurations, test frameworks', and quality tools' configurations that are set to use the default project interpreter.

Switching the PHP interpreter
Last modified: 02 August 2022