Search code examples
phpgitlaravelphpstormlamp

Complicated setup with Git, Laravel, PHPStorm and VPS


What I have so far:

  • Two VirtualBox LAMP machines (separate locations) where I connect my two Windows development machines via SFTP, to write code using PHPStorm.
  • One VPS machine where I deploy my code written for a project in Laravel.

What I am trying to achieve:

Fast and easy code deployment, as in: write the code in Windows via PHPStorm, test it on the LAMP machine, deploy to VPS if necessary.

The problem is that I need to use some php artisan commands on LAMP machines to get some code generated. This means that I always have to synchronize PHPStorm with LAMP files tree in order to see the changes. Then, I need to also sync the other dev (LAMP) machine and the other PHPStorm running on Windows machine number 2. I know that this can be done via Git. So everytime I use the command line to generate code, I need to sync 4 machines (excluding the deployment server).

Later, if I add another pair of Windows/LAMP dev machines, the complexity grows.

Back in the days of Dreamweaver, I could write code directly on the deployment server. Not the greatest idea, but it was way much simpler and faster, and that's what I need now.

Any ideas on how can I simplify this?

Switching to WAMP so I can have files in sync with PHPStorm (because all is locally) is not OK because... Windows and PHP libraries issues :)

Also, switching to Dreamweaver is not OK either.

What other options do I have?

Thanks!

LE: on the side, I am also thinking if a NAS can be helpful for this type of problem.

LLE: is Linux Desktop + PHPStorm the only straight solution?


Solution

  • How I solved the problem:

    I have an extra Mac, on which I installed everything for my PHP ecosystem, including the IDE, so everything is local. That's the dev machine. Then I manually copy the code to the VPS when needed. Another solution was to install Ubuntu Desktop (or similar) on dual boot with Windows and use it as a local dev environment.

    Much faster development / deployment :)