It seems that the company that I work for is always struggling with our customers’ server environments.
Specifically, we almost always encounter pro
You need to start keeping track of every change that you make to the testing environment and provide a way for propagating this to the production environment.
For code, this means a versioning systems such as CVS, Subversion or GIT.
For the database, it means a structure comparison tool or deploy scripts that update the production database.
For configuration, the two systems should be exactly the same and any 'tweaking' or changing needs to first be applied to the testing server then later applied to the production server during a deploy.
Until you have a process that works, you will continue to have problems.