wiki.techinc.nl/maintenance/Maintenance.php
daniel dcef1674a5 Allow main settings file to be selected via env variable.
This allows a file other than LocalSettings.php to be used as the primary
settings file by setting the MW_CONFIG_FILE environment variable.
This also allows the primary settings file to use YAML or JSON format.

Using static configuration files should be the default in the future.
However, YAML files in the document root could easily be exposed to the
public. Better not to encourage that, and require them to be enabled
explicitly and loaded from a different place.

Bug: T294750
Change-Id: I7747f83481cb05a6d05f819be652259951183819
2022-02-06 21:13:00 +01:00

68 lines
2.3 KiB
PHP

<?php
/**
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
* http://www.gnu.org/copyleft/gpl.html
*
* @file
* @ingroup Maintenance
* @defgroup Maintenance Maintenance
*/
/**
* @defgroup MaintenanceArchive Maintenance archives
* @ingroup Maintenance
*/
if ( !defined( 'RUN_MAINTENANCE_IF_MAIN' ) ) {
// Define this so scripts can easily find doMaintenance.php
define( 'RUN_MAINTENANCE_IF_MAIN', __DIR__ . '/doMaintenance.php' );
// Original name for compat, harmless
// Support: MediaWiki < 1.31
define( 'DO_MAINTENANCE', RUN_MAINTENANCE_IF_MAIN );
}
if ( defined( 'MEDIAWIKI' ) ) {
// This file is included by many autoloaded class files, and so may
// potentially be invoked in the context of a web request or another CLI
// script. It's not appropriate to run the following file-scope code in
// such a case.
return;
}
define( 'MW_ENTRY_POINT', 'cli' );
// Bail on old versions of PHP, or if composer has not been run yet to install
// dependencies.
require_once __DIR__ . '/../includes/BootstrapHelperFunctions.php';
require_once __DIR__ . '/../includes/PHPVersionCheck.php';
wfEntryPointCheck( 'text' );
/**
* @var string|false
* @phan-var class-string|false
*/
$maintClass = false;
// Some extensions rely on MW_INSTALL_PATH to find core files to include. Setting it here helps them
// if they're included by a core script (like DatabaseUpdater) after Maintenance.php has already
// been run.
if ( strval( getenv( 'MW_INSTALL_PATH' ) ) === '' ) {
putenv( 'MW_INSTALL_PATH=' . realpath( __DIR__ . '/..' ) );
}
require_once __DIR__ . '/includes/Maintenance.php';
require_once __DIR__ . '/includes/LoggedUpdateMaintenance.php';
require_once __DIR__ . '/includes/FakeMaintenance.php';