Bedrock tries to separate config from code as much as possible and environment variables are used to achieve this. The benefit is there's a single place (
.env) to keep settings like database or other 3rd party credentials that aren't committed to your repository.
PHP dotenv is used to load the
.env file. All variables are then available in your app by the built-in
However, we use the env library and its
env function which handles simple type coercion (such as converting the string
'True' to the boolean
true). We recommend you use
env as well for reading environment variables.
Currently, the following env vars are required:
The following vars are required if
DATABASE_URL is not set:
There is also the
DATABASE_URL which is optional.
Although it isn't required (if not defined elsewhere, Bedrock will default to
WP_ENV is used by several pieces of the Roots stack, as well as software outside of it, to modify behavior based on environment. There are three values you can set for
WP_ENV that Bedrock will understand:
Make sure that these are set correctly in your different environments.
Bedrock also infers
WP_ENVIRONMENT_TYPE based on
WP_ENVIRONMENT_TYPE was introduced in WordPress 5.5.0.
Help us continue to build and maintain our open source projects. We’re a small team of independent developers and every little bit helps.Sponsor Roots on GitHub