PhpStorm
 
2022.3
Get PhpStorm

Configure remote PHP interpreters

Last modified: 17 March 2023

Required plugins: PHP Remote Interpreter (bundled), Vagrant (bundled), FTP/SFTP/WebDAV Connectivity (bundled), Docker (bundled), PHP Docker (bundled), PHP WSL Support

Configure: Settings | PHP

Switch interpreter via Find Action Ctrl+Shift+A: Change PHP interpreter

The term remote PHP interpreter denotes a PHP engine installed on a remote host or in a virtual environment. The term remote PHP interpreter is used as the opposite of local PHP interpreters that are installed on your computer, see Configuring Local PHP Interpreters.

You can access a remote PHP interpreter through SSH, Docker, Docker Compose, Vagrant, or WSL:

By using SSH, you can access a PHP interpreter through the SSH access to the host where the PHP interpreter is installed.

Before you start:

  • Configure access to an ssh server on the target remote host and make sure this server is running.

  • Make sure the PHP Remote Interpreter and FTP/SFTP/WebDAV Connectivity plugins are enabled. The plugins are activated by default. If the plugins are disabled, enable them on the Installed tab of the Plugins page as described in Install plugins.

  • Create an SSH configuration as described in Create SSH configurations.

Configure a PHP interpreter using SSH

  1. Press Ctrl+Alt+S to open the IDE settings and select 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 From Docker, Vagrant, VM, WSL, Remote... from the popup menu.

  4. In the Configure Remote PHP Interpreter dialog that opens, choose the SSH method.

    Remote interpreter via SSH dialog
  5. From the SSH configuration list, choose one of the created SSH configurations, or click the Browse button and create a new configuration as described in Create SSH configurations.

    To use an interpreter configuration, you need path mappings that set correspondence between the project folders, the folders on the server to copy project files to, and the URL addresses to access the copied data on the server. PhpStorm first attempts to retrieve path mappings itself by processing all the available application-level configurations. If PhpStorm finds the configurations with the same host as the one specified in the selected SSH configuration, the mappings from these configurations are merged automatically. If no configurations with this host are found, PhpStorm displays an error message informing you that path mappings are not configured.

    To fix the problem, open the PHP page of the IDE settings Ctrl+Alt+S, click Open in the Path mappings field and map local folders to the folders on the server.

  6. In the PHP interpreter path field, specify the location of the PHP executable file in accordance with the configuration of the selected remote development environment.

    • For remote hosts, PhpStorm by default suggests the /usr/bin/php location.

    To specify a different folder, click Open and choose the relevant folder in the dialog that opens. Note that the PHP home directory must be open for editing.

    When you click OK, PhpStorm checks whether the PHP executable is actually stored in the specified folder.

    • If no PHP executable is found, PhpStorm displays an error message asking you whether to continue searching or save the interpreter configuration anyway.

    • If the PHP executable is found, you return to the CLI Interpreters dialog where the installation folder and the detected version of the PHP interpreter are displayed.

  7. In the CLI Interpreters dialog, click Show phpinfo Show phpinfo button to have PhpStorm 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.