Skip to Content search facebook instagram pinterest twitter youtube

Test vs production environment

SproutCMS has two modes of operation

  • Testing
  • Production (default)

It is important to understand the difference between the two and how to toggle between them.


Testing is intended for use in the development and (obviously) test environment and is disabled by default. It exposes detailed exception details to logged in administrators which include the message and full stack trace. It also enables a few code paths intended for testing, which may be dangerous in production environments.

Testing is automatically enabled if you're accessing the site from localhost, otherwise it's disabled and the site will be in production mode by default. In order to run cron or worker jobs, the test server hostname needs to be configured in the config/dev_hosts.php file; this can be done using the welcome module.


Production is intended for live sites. Exceptions generate a 403 error page with very little information (the exception is still saved to the Exception Log however) and all testing logic is disabled. Caching is enabled and the code-base will skip slow debugging logic during requests.

Since production is enabled by default you don't have to do anything to enable it.