Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

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
  • Loading branch information...
commit c198593b0ecbff5b06a0d7464506789bfa474c47 1 parent c096042
@mudrd8mz mudrd8mz authored
Showing with 18 additions and 1 deletion.
  1. +12 −0 config-dist.php
  2. +6 −1 lib/moodlelib.php
View
12 config-dist.php
@@ -345,6 +345,18 @@
//
// $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
7 lib/moodlelib.php
@@ -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();
}
Please sign in to comment.
Something went wrong with that request. Please try again.