Personally, I was tired to edit this config file to move my sites between server environments. I update the config files in order to make MODX works anywhere.
Here my core/config/config.inc.php file, you have to update the database values and replace the siteIds infos by yours and that's it. No need to take care of the paths.
<?php
/**
* MODX Configuration file
*/
/*
* My local machine
*/
if ($_SERVER['SERVER_NAME'] === '192.168.0.27') {
$database_type = 'mysql';
$database_server = '192.168.0.27';
$port = '8889';
$database_user = 'root';
$database_password = 'root';
$database_connection_charset = 'utf8';
$dbase = 'database_name';
$table_prefix = 'modx_';
}
/*
* My production machine
*/
else {
$database_type = 'mysql';
$database_server = '000.000.0.000';
$port = '3306';
$database_user = 'mysuperuser';
$database_password = 'mysuperpassword';
$database_connection_charset = 'utf8';
$dbase = 'database_name';
$table_prefix = 'modx_';
}
$database_dsn = 'mysql:host=' . $database_server . ';port=' . $port . ';dbname=' . $dbase . ';charset=' . $database_connection_charset;
$config_options = array (
);
$driver_options = array (
);
$lastInstallTime = 1446459582;
/*
* You have to put your site id infos here
*/
$site_id = 'modx00000000000000';
$site_sessionname = '0000000000';
$https_port = '443';
$uuid = '0000000000000000000';
/*
* No edit under this line ***************
*/
if (!defined('MODX_CORE_PATH')) {
$modx_core_path= dirname(dirname(__FILE__)) . '/';
define('MODX_CORE_PATH', $modx_core_path);
}
if (!defined('MODX_PROCESSORS_PATH')) {
$modx_processors_path= dirname(dirname(__FILE__)) . '/model/modx/processors/';
define('MODX_PROCESSORS_PATH', $modx_processors_path);
}
if (!defined('MODX_CONNECTORS_PATH')) {
$modx_connectors_path= dirname(dirname(dirname(__FILE__))) . '/connectors/';
$modx_connectors_url= preg_replace('#'.$_SERVER['DOCUMENT_ROOT'].'#', '', dirname(dirname(dirname(__FILE__)))) . '/connectors/';
define('MODX_CONNECTORS_PATH', $modx_connectors_path);
define('MODX_CONNECTORS_URL', $modx_connectors_url);
}
if (!defined('MODX_MANAGER_PATH')) {
$modx_manager_path= dirname(dirname(dirname(__FILE__))) . '/manager/';
$modx_manager_url= preg_replace('#'.$_SERVER['DOCUMENT_ROOT'].'#', '', dirname(dirname(dirname(__FILE__)))) . '/manager/';
define('MODX_MANAGER_PATH', $modx_manager_path);
define('MODX_MANAGER_URL', $modx_manager_url);
}
if (!defined('MODX_BASE_PATH')) {
$modx_base_path= dirname(dirname(dirname(__FILE__))) . '/';
$modx_base_url= preg_replace('#'.$_SERVER['DOCUMENT_ROOT'].'#', '', dirname(dirname(dirname(__FILE__)))) . '/';
define('MODX_BASE_PATH', $modx_base_path);
define('MODX_BASE_URL', $modx_base_url);
}
if(defined('PHP_SAPI') && (PHP_SAPI == "cli" || PHP_SAPI == "embed")) {
$isSecureRequest = false;
} else {
$isSecureRequest = ((isset ($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) == 'on') || $_SERVER['SERVER_PORT'] == $https_port);
}
if (!defined('MODX_URL_SCHEME')) {
$url_scheme= $isSecureRequest ? 'https://' : 'http://';
define('MODX_URL_SCHEME', $url_scheme);
}
if (!defined('MODX_HTTP_HOST')) {
if(defined('PHP_SAPI') && (PHP_SAPI == "cli" || PHP_SAPI == "embed")) {
$http_host='ns3284084.ip-5-135-178.eu';
define('MODX_HTTP_HOST', $http_host);
} else {
$http_host= array_key_exists('HTTP_HOST', $_SERVER) ? $_SERVER['HTTP_HOST'] : '';
if ($_SERVER['SERVER_PORT'] != 80) {
$http_host= str_replace(':' . $_SERVER['SERVER_PORT'], '', $http_host); // remove port from HTTP_HOST
}
$http_host .= ($_SERVER['SERVER_PORT'] == 80 || $isSecureRequest) ? '' : ':' . $_SERVER['SERVER_PORT'];
define('MODX_HTTP_HOST', $http_host);
}
}
if (!defined('MODX_SITE_URL')) {
$site_url= $url_scheme . $http_host . MODX_BASE_URL;
define('MODX_SITE_URL', $site_url);
}
if (!defined('MODX_ASSETS_PATH')) {
$modx_assets_path= dirname(dirname(dirname(__FILE__))) . '/assets/';
$modx_assets_url= preg_replace('#'.$_SERVER['DOCUMENT_ROOT'].'#', '', dirname(dirname(dirname(__FILE__)))) . '/assets/';
define('MODX_ASSETS_PATH', $modx_assets_path);
define('MODX_ASSETS_URL', $modx_assets_url);
}
if (!defined('MODX_LOG_LEVEL_FATAL')) {
define('MODX_LOG_LEVEL_FATAL', 0);
define('MODX_LOG_LEVEL_ERROR', 1);
define('MODX_LOG_LEVEL_WARN', 2);
define('MODX_LOG_LEVEL_INFO', 3);
define('MODX_LOG_LEVEL_DEBUG', 4);
}
if (!defined('MODX_CACHE_DISABLED')) {
$modx_cache_disabled= false;
define('MODX_CACHE_DISABLED', $modx_cache_disabled);
}
Then, you have to update this file :
/config.core.php
With this :
<?php
define('MODX_CORE_PATH', dirname(__FILE__) . '/core/');
define('MODX_CONFIG_KEY', 'config');
?>
And these :
/connectors/config.core.php
/manager/config.core.php
With this :
<?php
define('MODX_CORE_PATH', dirname(dirname(__FILE__)) . '/core/');
define('MODX_CONFIG_KEY', 'config');
?>
I use this on my projects to only have to do a FTP transfer to publish from test environment to production.
Always remove the "core/cache/" folder after moving your site.
[ed. note: romainfallet last edited this post 8 years, 2 months ago.]