If you're interested in the deployment of PHP applications, you'd do well to check out a series of articles Kevin Schroeder has posted to his blog talking about different methods for moving your site out when it's ready for the world to see.
His articles cover:
- Things to take into consideration when creating a deployment process
- Using rsync
- Integration of source code management
- Creating PEAR packages
- Making installable packages (like yum, RPM, etc)
This last option, while a bit more difficult than some of the others, seems to becoming more and more popular as a self-contained, easy to deploy method that's very controllable.