MDL-22478 Allow alternative location of strings disk cache

Administrators can now specify $CFG->langcacheroot in their config.php for
alternative location of strings disk cache. If the alternative location is
not set, Moodle uses default $CFG->dataroot/cache/lang
This commit is contained in:
David Mudrak 2011-03-11 12:20:02 +01:00
parent c09604234a
commit c198593b0e
2 changed files with 18 additions and 1 deletions

View File

@ -345,6 +345,18 @@ $CFG->admin = 'admin';
//
// $CFG->themedir = '/location/of/extra/themes';
//
// If $CFG->langstringcache is enabled (which should always be in production
// environment), Moodle keeps aggregated strings in its own internal format
// optimised for performance. By default, this on-disk cache is created in
// $CFG->dataroot/cache/lang. In cluster environment, you may wish to specify
// an alternative location of this cache so that each web server in the cluster
// uses its own local cache and does not need to access the shared dataroot.
// Make sure that the web server process has write permission to this location
// and that it has permission to remove the folder, too (so that the cache can
// be pruned).
//
// $CFG->langcacheroot = '/var/www/moodle/htdocs/altcache/lang';
//
// Site default language can be set via standard administration interface. If you
// want to have initial error messages for eventual database connection problems
// localized too, you have to set your language code here.

View File

@ -5484,12 +5484,17 @@ function get_string_manager($forcereload=false) {
}
if ($singleton === null) {
if (empty($CFG->early_install_lang)) {
if (empty($CFG->langcacheroot)) {
$langcacheroot = $CFG->dataroot . '/cache/lang';
} else {
$langcacheroot = $CFG->langcacheroot;
}
if (empty($CFG->langlist)) {
$translist = array();
} else {
$translist = explode(',', $CFG->langlist);
}
$singleton = new core_string_manager($CFG->langotherroot, $CFG->langlocalroot, "$CFG->dataroot/cache/lang", !empty($CFG->langstringcache), $translist);
$singleton = new core_string_manager($CFG->langotherroot, $CFG->langlocalroot, $langcacheroot, !empty($CFG->langstringcache), $translist);
} else {
$singleton = new install_string_manager();
}