installer: Add a defined check to overrideConfig method
authorSamuel Hilson <samrhilson@gmail.com>
Tue, 28 May 2019 19:29:59 +0000 (14:29 -0500)
committerD3r1ck01 <xsavitar.wiki@aol.com>
Thu, 27 Jun 2019 14:46:18 +0000 (14:46 +0000)
overrideConfig is a public static method and can be called multiple
times by other processes but does not check that the constant
`MW_NO_SESSION_HANDLER` is defined before attempting to set it.

Bug: T224287
Change-Id: I01bcbd36ec001a5c55c2acebb24c44df3d3d3277

includes/installer/Installer.php

index 26f9bf0..ffa01c7 100644 (file)
@@ -1764,7 +1764,9 @@ abstract class Installer {
        public static function overrideConfig() {
                // Use PHP's built-in session handling, since MediaWiki's
                // SessionHandler can't work before we have an object cache set up.
-               define( 'MW_NO_SESSION_HANDLER', 1 );
+               if ( !defined( 'MW_NO_SESSION_HANDLER' ) ) {
+                       define( 'MW_NO_SESSION_HANDLER', 1 );
+               }
 
                // Don't access the database
                $GLOBALS['wgUseDatabaseMessages'] = false;