I'd look into some sort of automated "build" style environment for lamp where you have scripts that package and prepare your releases for each environment.
I recognize there is no actual building for PHP but you could set up automation to change any configuration or setup issues and save everything off to a folder ready to be implemented.
I don't believe you can completely eliminate downtime without load balancing / web farm style environments. However the easiest way to reduce it in my book is by establishing a consistent code prep process and testing the process multiple times. Automation would help there.
As for the act of actually copying the files, well I don't know much more than using something like FTP or whatever is convenient. Maybe putting up a loading message. Again this could all be scripted out.
Finally keep in mind since PHP isn't built it might work well for you to track differences between what's there now and what you have changed and only move those files. Sometimes that can add unneeded complexity though.