Best practice for project setup?


is there a best practice for the project setup with PhpStorm?
At the moment we have a development server running in our intranet, where every developer has his own directory (/htdocs/username/).

When i am working on projectX i do a checkout to /htdocs/myusername/projectx/ via svn.
In PhpStorm i create a project with "My web server is on remote host, files are accessible via FTP/SFTP".

This works fine, except for two cases.
- When i do an svn update on the server, the changes and new files are not synced back to my local PhpStorm dir.
- When i use cli code generation tools on the server, those new files are also not synced back.

Is there any better constellation so the "deployed" code stays in sync with my local copy?

Thanks in advance, Joe.


This is relevant for me also.


Hi Joe,

Currently there is no such feature in PhpStorm to keep your local copy of the project synced with deployed one.

Similar thread:

This is the ticket that you will be interested in:


Hi guys,

To my regret currently we don't have much support for your case, so you need to manually sync your files. Related feature requests are and (welcome to vote/comment). What may help you a bit is 'Warn when uploading over newer file' setting at File | Settings | Deployment | Options screen, which will open merge dialog if remote file has changed since the last sync.




thank your for your hints so far.

Would it be possible and less error prone, to checkout the project files locally and edit them directly in PhpStorm, and deploy those files to the server?
If this is a possible setup, would PhpStorm recognize new files after a svn update in this constellation?

So the only thing i would have to do manually, is to download files from the server, when they are command line generated on the server.

I would be glad to hear from other users, how they set up their projects.

Thanks and best regards, Joe


Hi Joe,

Exactly, it's currently more usable to checkout project locally. You can then make IDE automatically upload your files on commit/update.

[not a PhpStorm user]


I use to setup my projects with SVN and push them to a repository that had an FTP tool.

At that point I had a local copy (Working copy) that I managed in phpStorm, once I was done editing I pushed them to the repository which then synced to the server via FTP (So FTP server to server)
But the repositoirs FTP tool had to many failure points.

So I switched to Git, which was a good move anyway.
But the point is, now I installed Git on the live server.

I build in my local work tree, push it to a hosted repository (which also works as a backup of all files) from phpStorm.
Then when a dev branch is ready, I merge it to the master branch.

Login to the live server and pull the changes in from the Git repository.

I have been managing all projects this way with Git now for about 4 months and loving it.
Its far more failure proof.

As a side note: Everything is built on a local LAMP stack. I never load untested code on a live server.
I started this all on Windows Vista using Wamp as a LAMP stack with all the toys installed, WebGrind, XDebug, PHPUnit....
Now I am running on Ubuntu, same machine. But production in a ton faster do to the fact the LAMP, well, runs native on Linux distro's

So its just faster all to gether.
Also this allows me to access the live servers nativally through local terminal and SSH.

So it works well on any OS, but I am liking it a lot more on a Linux OS like Ubuntu.
No problems with phpStrom on it either, been running all EAP and full releases on it, which also seem to run smoother.


Thanks for sharing!


Please sign in to leave a comment.