// Start the autoloader, so that extensions can derive classes from core files
require_once "$IP/includes/AutoLoader.php";
-// Load up some global defines
+// Load global constants
require_once "$IP/includes/Defines.php";
// Load default settings
die( 1 );
}
+/**
+ * Changes to the PHP environment that don't vary on configuration.
+ */
+
// Install a header callback
MediaWiki\HeaderCallback::register();
+// Set the encoding used by reading HTTP input, writing HTTP output.
+// This is also the default for mbstring functions.
+mb_internal_encoding( 'UTF-8' );
+
/**
* Load LocalSettings.php
*/
// Don't let any other extensions load
ExtensionRegistry::getInstance()->finish();
-mb_internal_encoding( 'UTF-8' );
-
// Set the configured locale on all requests for consisteny
putenv( "LC_ALL=$wgShellLocale" );
setlocale( LC_ALL, $wgShellLocale );
if ( $wgLoadScript === false ) {
$wgLoadScript = "$wgScriptPath/load.php";
}
+if ( $wgRestPath === false ) {
+ $wgRestPath = "$wgScriptPath/rest.php";
+}
if ( $wgArticlePath === false ) {
if ( $wgUsePathInfo ) {
// To determine the user language, use $wgLang->getCode()
$wgContLanguageCode = $wgLanguageCode;
+// Temporary backwards-compatibility reading of old Squid-named CDN settings as of MediaWiki 1.34,
+// to support sysadmins who fail to update their settings immediately:
+
+if ( isset( $wgUseSquid ) ) {
+ // If the sysadmin is still setting a value of $wgUseSquid to true but $wgUseCdn is the default of
+ // false, to be safe, assume they do want this still, so enable it.
+ if ( !$wgUseCdn && $wgUseSquid ) {
+ $wgUseCdn = $wgUseSquid;
+ wfDeprecated( '$wgUseSquid enabled but $wgUseCdn disabled; enabling CDN functions', '1.34' );
+ }
+} else {
+ // Backwards-compatibility for extensions that read this value.
+ $wgUseSquid = $wgUseCdn;
+}
+
+if ( isset( $wgSquidServers ) ) {
+ // If the sysadmin is still setting a value of $wgSquidServers but $wgCdnServers is the default of
+ // empty, to be safe, assume they do want these servers to be still used, so use them.
+ if ( !empty( $wgSquidServers ) && empty( $wgCdnServers ) ) {
+ $wgCdnServers = $wgSquidServers;
+ wfDeprecated( '$wgSquidServers set, $wgCdnServers empty; using them', '1.34' );
+ }
+} else {
+ // Backwards-compatibility for extensions that read this value.
+ $wgSquidServers = $wgCdnServers;
+}
+
+if ( isset( $wgSquidServersNoPurge ) ) {
+ // If the sysadmin is still setting values in $wgSquidServersNoPurge but $wgCdnServersNoPurge is
+ // the default of empty, to be safe, assume they do want these servers to be still used, so use
+ // them.
+ if ( !empty( $wgSquidServersNoPurge ) && empty( $wgCdnServersNoPurge ) ) {
+ $wgCdnServersNoPurge = $wgSquidServersNoPurge;
+ wfDeprecated( '$wgSquidServersNoPurge set, $wgCdnServersNoPurge empty; using them', '1.34' );
+ }
+} else {
+ // Backwards-compatibility for extensions that read this value.
+ $wgSquidServersNoPurge = $wgCdnServersNoPurge;
+}
+
+if ( isset( $wgSquidMaxage ) ) {
+ // If the sysadmin is still setting a value of $wgSquidMaxage and it's higher than $wgCdnMaxAge,
+ // to be safe, assume they want the higher (lower performance requirement) value, so use that.
+ if ( $wgCdnMaxAge < $wgSquidMaxage ) {
+ $wgCdnMaxAge = $wgSquidMaxage;
+ wfDeprecated( '$wgSquidMaxage set higher than $wgCdnMaxAge; using the higher value', '1.34' );
+ }
+} else {
+ // Backwards-compatibility for extensions that read this value.
+ $wgSquidMaxage = $wgCdnMaxAge;
+}
+
// Easy to forget to falsify $wgDebugToolbar for static caches.
// If file cache or CDN cache is on, just disable this (DWIMD).
-if ( $wgUseFileCache || $wgUseSquid ) {
+if ( $wgUseFileCache || $wgUseCdn ) {
$wgDebugToolbar = false;
}
-// We always output HTML5 since 1.22, overriding these is no longer supported
-// we set them here for extensions that depend on its value.
-$wgHtml5 = true;
-$wgXhtmlDefaultNamespace = 'http://www.w3.org/1999/xhtml';
-$wgJsMimeType = 'text/javascript';
-
// Blacklisted file extensions shouldn't appear on the "allowed" list
$wgFileExtensions = array_values( array_diff( $wgFileExtensions, $wgFileBlacklist ) );
$ps_misc = Profiler::instance()->scopedProfileIn( $fname . '-misc' );
// Raise the memory limit if it's too low
-wfMemoryLimit();
+// Note, this makes use of wfDebug, and thus should not be before
+// MWDebug::init() is called.
+wfMemoryLimit( $wgMemoryLimit );
/**
* Set up the timezone, suppressing the pseudo-security warning in PHP 5.1+
// Useful debug output
if ( $wgCommandLineMode ) {
- wfDebug( "\n\nStart command line script $self\n" );
+ if ( isset( $self ) ) {
+ wfDebug( "\n\nStart command line script $self\n" );
+ }
} else {
$debug = "\n\nStart request {$wgRequest->getMethod()} {$wgRequest->getRequestURL()}\n";
-
- if ( $wgDebugPrintHttpHeaders ) {
- $debug .= "HTTP HEADERS:\n";
-
- foreach ( $wgRequest->getAllHeaders() as $name => $value ) {
- $debug .= "$name: $value\n";
- }
+ $debug .= "HTTP HEADERS:\n";
+ foreach ( $wgRequest->getAllHeaders() as $name => $value ) {
+ $debug .= "$name: $value\n";
}
wfDebug( $debug );
}