Page MenuHomePhabricator

Get MW_CONFIG_FILE from env to facilitate virtual hosting
Open, LowPublic


includes/WebStart.php allows for the possibility that MW_CONFIG_FILE has already been defined externally, but there is no mechanism in the code to facilitate it being predefined. My suggestion/request is to check the environment, see if a variable with such name is defined there, and if so pull its value in just as is already done with IP earlier in the same file.

The advantage of this feature would be that a virtual hosting web server could use the same MW code base to serve multiple different wikis simply by configuring this env var to point to the appropriate LocalSettings.php for each one.

Current workaround: In Apache, for each wiki I set:

SetEnv MW_CONFIG_FILE Path_to_this_wikis_LocalSettings.php
php_admin_value auto_prepend_file getMW_CONFIG_FILE_from_Env.php

Where getMW_CONFIG_FILE_from_Env.php contains just the one line:

define('MW_CONFIG_FILE', getenv( 'MW_CONFIG_FILE' ));

The present request would make only the one SetEnv customization line necessary for each host. I consider this to be a cleaner solution, at least for some situations, than other current options such as

Event Timeline

Zacharyharris raised the priority of this task from to Low.
Zacharyharris updated the task description. (Show Details)
Zacharyharris added a subscriber: Zacharyharris.
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptOct 14 2015, 1:36 AM

I like this idea :)

Change 582499 had a related patch set uploaded (by Kosta Harlan; owner: Kosta Harlan):
[mediawiki/core@master] Allow setting MW_CONFIG_FILE via environment variable

Change 582499 abandoned by Kosta Harlan:
Allow setting MW_CONFIG_FILE via environment variable

per comments