The Staging Environment

The staging area is a place that should mimic the production environment as closely as possible. Although this is sometimes hard to achieve, the more closely you can mimic the production environment, the better it will be. You will be able to see how your code reacts in a protected area, but one that simulates the real production environment at the same time. The staging environment can often be a place where the end user or client can test out new features or functionality, giving feedback and stress testing code without fear of affecting production code.

Note

As testing and experimentation progress, your staging area (at least from a data perspective) will eventually distance itself from the production environment. So it is a good practice to have procedures in place that will replace the staging area with production information from time to time. The set times will be different for each company or development shop depending on features being created, release cycles, etc.

If resources permit, you should consider having two separate staging areas: one for developers (coding peers) and the other for client testing. Feedback from these two types of users is quite often very different and very telling. Server error reporting and feedback should be kept to a minimum here as well, to enable production duplication as closely as possible.

Get Programming PHP, 3rd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.