PhpStorm 2023.3 Help

Upload and download files

PhpStorm provides the following main ways to upload project files and folders to deployment servers:

  • Manually, at any time through a menu command.

  • Automatically, every time a file is updated, or before starting a debugging session, or during a commit to your version control system.

For downloading files and folders, PhpStorm supports only the manual mode.

PhpStorm shows the logs in the File Transfer tool window (View | Tool Windows | File Transfer).

File Transfer tool window

Upload a file or folder manually

  • In the Project tool window (Alt+1), right-click a file or folder, then select Deployment | Upload to from the context menu, and choose the target deployment server or server group from the list.

    Upload file or folder manually

    If the default server or server group is appointed, you can also select Upload to <default deployment server or server group>.

Upload application sources automatically before the PHP remote debugging session

  1. Create a PHP Remote Debug run/debug configuration.

  2. In the Before launch area, click Add icon and choose Upload Files to Remote Host from the list.

    Upload files to remote host

    If the area is folded, click Expand area icon to expand it.

  3. In the Upload to Remote Host dialog that opens:

    • From the Server list, choose the target deployment server or server group.

    • In the Local roots to upload area, create a list of root folders to upload. All the folders and files under the specified roots will be uploaded recursively.

Upload locally changed files

  1. Switch to the Changes view (Alt+0) to view the locally changed files.

  2. Right-click a file, then select Deployment | Upload to from the context menu, and choose the target deployment server or server group from the list. If the default server or server group group is appointed, you can also select Upload to <default deployment server or server group>.

For more information, refer to Add files to Git and track changes.

Upload files after synchronizing with a VCS repository

  1. Synchronize the contents of your local files with the VCS repository by pressing Ctrl+T or selecting VCS | <VCS> | Update from the main menu.

  2. Switch to the Update Info tab of the Version Control tool window Alt+9.

  3. Right-click a file, then select Deployment | Upload to from the context menu, and choose the target deployment server or server group from the list. If the default server or server group is appointed, you can also select Upload to <default deployment server or server group>.

Upload checked-in files immediately after commit

  1. In the Changes view (Alt+0), click the gear icon to open the commit setting context menu.

  2. In the After Commit area of the menu, choose the target server or server group from the Upload files to list. Choose one of the existing configurations or create a new one: click the Browse button and configure access to the relevant server, or set up a server group in the dialog that opens.

    Upload files from after commit area

    To have your selection applied automatically in the future, select the Always use selected server or group of servers checkbox.

  3. Proceed with committing your changes.

Configure automatic upload of changed files to the default server or server group

PhpStorm considers a local file changed as soon as it is saved either automatically or manually (File | Save All or Ctrl+S), see Write and edit source code. Changed files can be automatically uploaded only to the default deployment server.

  1. Open the Options dialog by doing one of the following:

    • Go to Tools | Deployment | Options.

    • In the Settings dialog (Ctrl+Alt+S) , go to Build, Execution, Deployment | Deployment | Options.

  2. From the Upload changed files automatically to the default server list, choose when you want PhpStorm to upload changed files:

    Upload changed files automatically to the default server
    • To upload any manually or automatically saved file, choose Always.

    • To upload only manually saved files, choose On explicit save action.

    • To suppress automatic upload, choose Never.

  3. If you enabled automatic upload, optionally configure the scope it should apply to:

    • Select Skip external changes to exclude local changes that were made using a third-party tool (a VCS, a script, and so on) from automatic upload.

    • Select Delete remote files when local are deleted to have PhpStorm automatically delete remote files during automatic uploads in case the local ones are deleted.

      Note that this option serves as an extra safety measure and may result in unwanted files remaining on the remote server. As an example, consider a local file Foo.php, which is renamed to Bar.php. Since renaming a file is technically indistinguishable from deleting the file and creating a new one, the following will happen after automatic upload:

      • If the option is enabled, the remote server will only contain Bar.php.

      • If the option is disabled, the remote server will contain both Foo.php and Bar.php after automatic upload. You will probably need to delete Foo.php manually afterwards.

Download a file or folder

  1. In the main menu, go to Tools | Deployment | Browse Remote Host.

  2. In the Remote Host tool window that opens, select the required file or folder and choose Download from here from the context menu of the selection.

    Download a file or folder

Download a file from the default deployment server

  • Go to Tools | Deployment | Download from <default server>.

    PhpStorm will prompt you to overwrite local files, if any.

Last modified: 04 March 2024