Since working remotely became a necessity, PhpStorm offers the Remote Development functionality to help you code, run, debug, and deploy your projects remotely.
Before you start developing on the remote machine, make sure you have the following:
Remote machine (a target for an IDE) meets the minimum recommended requirements that can be found in IDEs articles.
You have installed a compatible SSH server on the Linux platform.
The Linux platform has any recent Linux AMD64 distribution such as Ubuntu 16.04+, RHEL/Centos 7+, and so on. There is no arm64 support yet. We recommend using machines with 2+ cores, 4GB+ of RAM, and 5GB+ of disk space.
You need to have the sftp subsystem enabled on the remote host. In the current implementation, we use it for the backend deployment.
You can use one of the following ways to launch JetBrains Gateway:
Use PhpStorm and the enabled Remote Development Gateway plugin in it. In this case, when you open the PhpStorm welcome screen, the Remote Development option will be available immediately and you can connect to your remote server using SSH.
Install JetBrains Gateway using the JetBrains Toolbox App.
Manually download and install JetBrains Gateway app.
Depending on your local OS, use one of the following installers:
Gateway itself is a free application but you should have a license for the remote IDE.
The licensing of Remote Development is handled on the local machine and is covered by your existing active IDE license. No license information is passed to or saved on the remote server. You can start the IDE backend without entering the license information since JetBrains Gateway is a free application.
The license will be checked later when you connect to the launched IDE backend. Product in the license on your local machine must match the remote backend IDE. If you use a corporate floating license server, that's your local (client) machine which must be able to reach this server. In this context nothing is changed from the same local PhpStorm mechanism.
For the information on how to configure the Remote Development environment and open your project, refer to Getting started with remote development.