una de las desventajas de trabajar en localhost es la configuracion del servidor
muchas veces todo funciona perfecto en tu locahost pero cuando se sube el sitio en el servidor del cliente no funciona del todo
como lo hacemos aca, es que tenemos dos servidores (hacemos desarrollos internos), un servidor de pruebas y otro de producción, ambos con el mismo Linux, misma configuración y demás, desarrollamos y hacemos pruebas justo en el servidor de pruebas, una vez que aparentemente esta todo listo, lo pasamos al productivo y hacemos una última prueba para comprobar la funcionalidad, si desarrollan mas de una persona, puedes probar el svn subversion para facilitar el desarrollo.
espero te sirva