Skip to content

Instantly share code, notes, and snippets.

@LeoMeiH
Created October 30, 2012 14:53
Show Gist options
  • Select an option

  • Save LeoMeiH/3980668 to your computer and use it in GitHub Desktop.

Select an option

Save LeoMeiH/3980668 to your computer and use it in GitHub Desktop.
wordpress config for multiple environments
<?php
/**
* The base configurations of the WordPress.
*
* This file is a custom version of the wp-config file to help
* with setting it up for multiple environments. Inspired by
* Leevi Grahams ExpressionEngine Config Bootstrap
* (http://ee-garage.com/nsm-config-bootstrap)
*
* @package WordPress
* @author Abban Dunne @abbandunne
* @link http://abandon.ie/wordpress-configuration-for-multiple-environments
*/
// Define Environments
$environments = array(
'local' => '.local',
'development' => '.dev',
'staging' => 'stage.',
'preview' => 'preview.',
);
// Get Server name
$server_name = $_SERVER['SERVER_NAME'];
foreach($environments AS $key => $env){
if(strstr($server_name, $env)){
define('ENVIRONMENT', $key);
break;
}
}
// If no environment is set default to production
if(!defined('ENVIRONMENT')) define('ENVIRONMENT', 'production');
// Define different DB connection details depending on environment
switch(ENVIRONMENT){
case 'local':
define('DB_NAME', 'bootstrap');
define('DB_USER', 'root');
define('DB_PASSWORD', 'root');
define('DB_HOST', 'localhost');
define('WP_DEBUG', true);
define('WP_SITEURL', 'http://bootstrap.local/');
define('WP_HOME', 'http://bootstrap.local/');
break;
case 'development':
define('DB_NAME', 'bootstrap');
define('DB_USER', 'root');
define('DB_PASSWORD', 'root');
define('DB_HOST', 'localhost');
define('WP_DEBUG', true);
break;
case 'staging':
define('DB_NAME', 'database_name_here');
define('DB_USER', 'username_here');
define('DB_PASSWORD', 'password_here');
define('DB_HOST', 'localhost');
break;
case 'preview':
define('DB_NAME', 'database_name_here');
define('DB_USER', 'username_here');
define('DB_PASSWORD', 'password_here');
define('DB_HOST', 'localhost');
break;
case 'mobile':
define('DB_NAME', 'database_name_here');
define('DB_USER', 'username_here');
define('DB_PASSWORD', 'password_here');
define('DB_HOST', 'localhost');
break;
}
// If batabase isn't defined then it will be defined here.
// Put the details for your production environment in here.
if(!defined('DB_NAME'))
define('DB_NAME', 'database_name_here');
if(!defined('DB_USER'))
define('DB_USER', 'username_here');
if(!defined('DB_PASSWORD'))
define('DB_PASSWORD', 'password_here');
if(!defined('DB_HOST'))
define('DB_HOST', 'localhost');
if(!defined('DB_CHARSET'))
define('DB_CHARSET', 'utf8');
if(!defined('DB_COLLATE'))
define('DB_COLLATE', '');
/**#@+
* Authentication Unique Keys and Salts.
*
* Change these to different unique phrases!
* You can generate these using the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}
* You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again.
*
* @since 2.6.0
*/
if(!defined('AUTH_KEY'))
define('AUTH_KEY', 'put your unique phrase here');
if(!defined('SECURE_AUTH_KEY'))
define('SECURE_AUTH_KEY', 'put your unique phrase here');
if(!defined('LOGGED_IN_KEY'))
define('LOGGED_IN_KEY', 'put your unique phrase here');
if(!defined('NONCE_KEY'))
define('NONCE_KEY', 'put your unique phrase here');
if(!defined('AUTH_SALT'))
define('AUTH_SALT', 'put your unique phrase here');
if(!defined('SECURE_AUTH_SALT'))
define('SECURE_AUTH_SALT', 'put your unique phrase here');
if(!defined('LOGGED_IN_SALT'))
define('LOGGED_IN_SALT', 'put your unique phrase here');
if(!defined('NONCE_SALT'))
define('NONCE_SALT', 'put your unique phrase here');
/**#@-*/
/**
* WordPress Database Table prefix.
*
* You can have multiple installations in one database if you give each a unique
* prefix. Only numbers, letters, and underscores please!
*/
if(!isset($table_prefix)) $table_prefix = 'wp_';
/**
* WordPress Localized Language, defaults to English.
*
* Change this to localize WordPress. A corresponding MO file for the chosen
* language must be installed to wp-content/languages. For example, install
* de_DE.mo to wp-content/languages and set WPLANG to 'de_DE' to enable German
* language support.
*/
if(!defined('WPLANG'))
define('WPLANG', '');
/**
* For developers: WordPress debugging mode.
*
* Change this to true to enable the display of notices during development.
* It is strongly recommended that plugin and theme developers use WP_DEBUG
* in their development environments.
*/
if(!defined('WP_DEBUG'))
define('WP_DEBUG', false);
/* That's all, stop editing! Happy blogging. */
/** Absolute path to the WordPress directory. */
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/');
/** Sets up WordPress vars and included files. */
require_once(ABSPATH . 'wp-settings.php');
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment