<p>There's another post on SO relating to .NET -- not us.  Pure PHP.  Trying to find the best way/process to deploy stable version of our PHP app.  I've seen an article on <a href="http://www.simplisticcomplexity.com/2006/8/16/automated-php-deployment-with-capistrano/" rel="nofollow noreferrer">Capistrano</a>, but am curious what else is out there.  Aside from the obvious reasons, I'm also looking to add some scripting so that the <a href="https://stackoverflow.com/questions/111436/how-can-i-get-the-svn-revision-number-in-php">SVN rev number gets added in there as well</a>.</p>

<p>Much thanks.</p>

I've used a home-grown script for quite some time. It will (based on an application configuration file):
Run
```
svn export
```
on the repository based on a tag.
Package the export into a tar or zip file, which includes the tag in the name.
Use
```
scp
```
to copy the package to the appropriate server (QA or release).
Connect to the server with
```
ssh
```
to install the package and run post-install scripts.
The application configuration file is part of the project. It can tell the script (at step 2) to strip paths and otherwise process specified files. It also specifies server names and how to handle externals.
I've recently migrated the script to support Git as well as Subversion. I'm also probably going to migrate it to PHP since we're now running in a mixed (Linux and Windows) set up, with Linux now in the minority.
I have plans to automatically call the script with post-commit hooks, but haven't had the need to implement that just yet.