

Make sure that Docker is downloaded, installed, and configured on your computer as described in Docker. In the CLI Interpreters dialog, click Show phpinfo opens a separate information window with the installation details and the list of loaded extensions and configured options.īy using the Docker configuration, you can access a PHP interpreter installed in a Docker container. 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. If no PHP executable is found, PhpStorm displays an error message asking you whether to continue searching or save the interpreter configuration anyway. When you click OK, PhpStorm checks whether the PHP executable is actually stored in the specified folder. Note that the PHP home directory must be open for editing. To specify a different folder, click and choose the relevant folder in the dialog that opens. 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.įor remote hosts, PhpStorm by default suggests the /usr/bin/php location. To fix the problem, open the PHP page of the IDE settings Control+Alt+S, click in the Path mappings field and map local folders to the folders on the server.

If no configurations with this host are found, PhpStorm displays an error message informing you that path mappings are not configured. 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. PhpStorm first attempts to retrieve path mappings itself by processing all the available application-level 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. In the Configure Remote PHP Interpreter dialog that opens, choose the SSH method.įrom the SSH configuration list, choose one of the created SSH configurations, or click and create a new configuration as described in Create SSH configurations. In the CLI Interpreters dialog that opens, click in the left-hand pane, then choose From Docker, Vagrant, VM, WSL, Remote. On the PHP page that opens, click next to the CLI Interpreter list. Press Control+Alt+S to open the IDE settings and then select PHP.
#Phpstorm debug remote php install#
If the plugins are disabled, enable them on the Installed tab of the Plugins page as described in Install plugins.Ĭreate an SSH configuration as described in Create SSH configurations.

Make sure the PHP Remote Interpreter and FTP/SFTP/WebDAV Connectivity plugins are enabled. This sounds fancy (and maybe it is) but it’s just a protocol create by Xdebug for communcation between itself and an IDE.By using SSH, you can access a PHP interpreter through the SSH access to the host where the PHP interpreter is installed.Ĭonfigure access to an ssh server on the target remote host and make sure this server is running. At this point, Xdebug and your IDE start communicating via the ]. You load a page in the browser for your project and when that happens Xdebug sends a connection request to your IDE and says “hey, I am getting a request, what do you have for me?”. Your IDE will sit and listen for that connection on a specific port (typically port 9000 or 9003). When Xdebug is running, it will call back to your IDE (like PhpStorm or VS Code) from the server where it’s running. Our web server that runs the site via PHP would have Xdebug installed and enabled in order for us to use. Plus, it’s important to understand, at least at a high level, how the tools you use work.Īs I mentioned in the last video, Xdebug is a PHP extension and runs on the local server as part of PHP that runs your application. Before we set up Xdebug, I want to talk through how it works so the setup makes more sense and it doesn’t seem like a series of strange steps.
