MediaWiki REL1_27
|
Base installer class. More...
Public Member Functions | |
__construct () | |
Constructor, always call this from child classes. | |
addInstallStep ( $callback, $findStep='BEGINNING') | |
Add an installation step following the given step. | |
dirIsExecutable ( $dir, $url) | |
Checks if scripts located in the given directory can be executed via the given URL. | |
disableLinkPopups () | |
doEnvironmentChecks () | |
Do initial checks of the PHP environment. | |
doEnvironmentPreps () | |
findExtensions ( $directory='extensions') | |
Finds extensions that follow the format /$directory/Name/Name.php, and returns an array containing the value for 'Name' for each found extension. | |
generateKeys () | |
Generate $wgSecretKey. | |
getCompiledDBs () | |
Get a list of DBs supported by current PHP setup. | |
getDBInstaller ( $type=false) | |
Get an instance of DatabaseInstaller for the specified DB type. | |
getDefaultSkin (array $skinNames) | |
Returns a default value to be used for $wgDefaultSkin: normally the one set in DefaultSettings, but will fall back to another if the default skin is missing and some other one is present instead. | |
getFakePassword ( $realPassword) | |
Get a fake password for sending back to the user in HTML. | |
getParserOptions () | |
getVar ( $name, $default=null) | |
Get an MW configuration variable, or internal installer configuration variable. | |
parse ( $text, $lineStart=false) | |
Convert wikitext $text to HTML. | |
performInstallation ( $startCB, $endCB) | |
Actually perform the installation. | |
populateSiteStats (DatabaseInstaller $installer) | |
Install step which adds a row to the site_stats table with appropriate initial values. | |
restoreLinkPopups () | |
setParserLanguage ( $lang) | |
ParserOptions are constructed before we determined the language, so fix it. | |
setPassword ( $name, $value) | |
Set a variable which stores a password, except if the new value is a fake password in which case leave it as it is. | |
setVar ( $name, $value) | |
Set a MW configuration variable, or internal installer configuration variable. | |
showError ( $msg) | |
Same as showMessage(), but for displaying errors. | |
showMessage ( $msg) | |
UI interface for displaying a short message The parameters are like parameters to wfMessage(). | |
showStatusMessage (Status $status) | |
Show a message to the installing user by using a Status object. | |
Static Public Member Functions | |
static | apacheModulePresent ( $moduleName) |
Checks for presence of an Apache module. | |
static | getDBTypes () |
Get a list of known DB types. | |
static | getExistingLocalSettings () |
Determine if LocalSettings.php exists. | |
static | locateExecutable ( $path, $names, $versionInfo=false) |
Search a path for any of the given executable names. | |
static | locateExecutableInDefaultPaths ( $names, $versionInfo=false) |
Same as locateExecutable(), but checks in getPossibleBinPaths() by default. | |
static | maybeGetWebserverPrimaryGroup () |
On POSIX systems return the primary group of the webserver we're running under. | |
static | overrideConfig () |
Override the necessary bits of the config to run an installation. | |
Public Attributes | |
array | $licenses |
License types. | |
array | $rightsProfiles |
User rights profiles. | |
const | MINIMUM_PCRE_VERSION = '7.2' |
The oldest version of PCRE we can support. | |
Protected Member Functions | |
createMainpage (DatabaseInstaller $installer) | |
Insert Main Page with default content. | |
createSysop () | |
Create the first user account, grant it sysop and bureaucrat rights. | |
disableTimeLimit () | |
Disable the time limit for execution. | |
doGenerateKeys ( $keys) | |
Generate a secret value for variables using our CryptRand generator. | |
envCheckBrokenXML () | |
Some versions of libxml+PHP break < and > encoding horribly. | |
envCheckCache () | |
Environment check for compiled object cache types. | |
envCheckDB () | |
Environment check for DB types. | |
envCheckDiff3 () | |
Search for GNU diff3. | |
envCheckGit () | |
Search for git. | |
envCheckGraphics () | |
Environment check for ImageMagick and GD. | |
envCheckLibicu () | |
Check the libicu version. | |
envCheckMemory () | |
Environment check for available memory. | |
envCheckModSecurity () | |
Scare user to death if they have mod_security or mod_security2. | |
envCheckPath () | |
Environment check to inform user which paths we've assumed. | |
envCheckPCRE () | |
Environment check for the PCRE module. | |
envCheckServer () | |
Environment check to inform user which server we've assumed. | |
envCheckShellLocale () | |
Environment check for preferred locale in shell. | |
envCheckSuhosinMaxValueLength () | |
Checks if suhosin.get.max_value_length is set, and if so generate a warning because it decreases ResourceLoader performance. | |
envCheckUploadsDirectory () | |
Environment check for the permissions of the uploads directory. | |
envGetDefaultServer () | |
Helper function to be called from envPrepServer() | |
envPrepPath () | |
Environment prep for setting $IP and $wgScriptPath. | |
envPrepServer () | |
Environment prep for the server hostname. | |
getDocUrl ( $page) | |
Overridden by WebInstaller to provide lastPage parameters. | |
getInstallSteps (DatabaseInstaller $installer) | |
Get an array of install steps. | |
includeExtensions () | |
Installs the auto-detected extensions. | |
unicodeChar ( $c) | |
Convert a hex string representing a Unicode code point to that code point. | |
Static Protected Member Functions | |
static | getPossibleBinPaths () |
Get an array of likely places we can find executables. | |
Protected Attributes | |
array | $compiledDBs |
List of detected DBs, access using getCompiledDBs(). | |
array | $dbInstallers = [] |
Cached DB installer instances, access using getDBInstaller(). | |
array | $defaultVarNames |
MediaWiki configuration globals that will eventually be passed through to LocalSettings.php. | |
array | $envChecks |
A list of environment check methods called by doEnvironmentChecks(). | |
array | $envPreps |
A list of environment preparation methods called by doEnvironmentPreps(). | |
array | $extraInstallSteps = [] |
Extra steps for installation, for things like DatabaseInstallers to modify. | |
array | $internalDefaults |
Variables that are stored alongside globals, and are used for any configuration of the installation process aside from the MediaWiki configuration. | |
$mediaWikiAnnounceLanguages | |
Supported language codes for Mailman. | |
$mediaWikiAnnounceUrl | |
URL to mediawiki-announce subscription. | |
int | $minMemorySize = 50 |
Minimum memory size in MB. | |
array | $objectCaches |
Known object cache types and the functions used to test for their existence. | |
ParserOptions | $parserOptions |
Cached ParserOptions, used by parse(). | |
Title | $parserTitle |
Cached Title, used by parse(). | |
array | $settings |
Static Protected Attributes | |
static array | $dbTypes |
Known database types. | |
Private Member Functions | |
subscribeToMediaWikiAnnounce (Status $s) | |
Private Attributes | |
array | $installSteps = [] |
The actual list of installation steps. | |
Base installer class.
This class provides the base for installation and update functionality for both MediaWiki core and extensions.
Definition at line 42 of file Installer.php.
Installer::__construct | ( | ) |
Constructor, always call this from child classes.
Definition at line 356 of file Installer.php.
References $GLOBALS, $internalDefaults, $type, $wgMessagesDirs, $wgUser, as, CACHE_ANYTHING, CACHE_DB, CACHE_MEMCACHED, CACHE_NONE, ObjectCache\clear(), LBFactory\disableBackend(), doEnvironmentPreps(), getDBInstaller(), RequestContext\getMain(), global, Title\newFromText(), and settings.
Installer::addInstallStep | ( | $callback, | |
$findStep = 'BEGINNING' |
|||
) |
Add an installation step following the given step.
callable | $callback | A valid installation callback array, in this form: array( 'name' => 'some-unique-name', 'callback' => array( $obj, 'function' ) ); |
string | $findStep | The step to find. Omit to put the step at the beginning |
Definition at line 1692 of file Installer.php.
|
static |
Checks for presence of an Apache module.
Works only if PHP is running as an Apache module, too.
string | $moduleName | Name of module to check. |
Definition at line 1262 of file Installer.php.
|
protected |
Insert Main Page with default content.
DatabaseInstaller | $installer |
Definition at line 1617 of file Installer.php.
References $content, $e, $page, $status, EDIT_NEW, WikiPage\factory(), Title\newMainPage(), text, and wfMessage().
|
protected |
Create the first user account, grant it sysop and bureaucrat rights.
Definition at line 1544 of file Installer.php.
References $name, $status, $user, getVar(), and subscribeToMediaWikiAnnounce().
Installer::dirIsExecutable | ( | $dir, | |
$url | |||
) |
Checks if scripts located in the given directory can be executed via the given URL.
Used only by environment checks.
string | $dir | |
string | $url |
Reimplemented in CliInstaller.
Definition at line 1215 of file Installer.php.
References $dir, $e, $ext, $source, and as.
Referenced by envCheckUploadsDirectory().
Installer::disableLinkPopups | ( | ) |
Definition at line 656 of file Installer.php.
|
protected |
Disable the time limit for execution.
Some long-running pages (Install, Upgrade) will want to do this
Definition at line 1700 of file Installer.php.
Referenced by WebInstaller\execute().
Installer::doEnvironmentChecks | ( | ) |
Do initial checks of the PHP environment.
Set variables according to the observed environment.
It's possible that this may be called under the CLI SAPI, not the SAPI that the wiki will primarily run under. In that case, the subclass should initialise variables such as wgScriptPath, before calling this function.
Under the web subclass, it can already be assumed that PHP 5+ is in use and that sessions are working.
Definition at line 434 of file Installer.php.
References $status, as, list, setVar(), showError(), showMessage(), and wfIsHHVM().
Installer::doEnvironmentPreps | ( | ) |
|
protected |
Generate a secret value for variables using our CryptRand generator.
Produce a warning if the random source was insecure.
array | $keys |
Definition at line 1516 of file Installer.php.
References $keys, $name, $status, $wgLang, as, MWCryptRand\generateHex(), global, setVar(), and MWCryptRand\wasStrong().
Referenced by generateKeys().
|
protected |
Some versions of libxml+PHP break < and > encoding horribly.
Definition at line 737 of file Installer.php.
References showError().
|
protected |
Environment check for compiled object cache types.
Definition at line 804 of file Installer.php.
References $name, as, setVar(), showMessage(), and wfIniGetBool().
|
protected |
Environment check for DB types.
Definition at line 698 of file Installer.php.
References $name, $status, $wgLang, as, getCompiledDBs(), getDBInstaller(), global, showError(), showStatusMessage(), and wfMessage().
|
protected |
Search for GNU diff3.
Definition at line 840 of file Installer.php.
References locateExecutableInDefaultPaths(), setVar(), and showMessage().
|
protected |
Search for git.
Definition at line 886 of file Installer.php.
References locateExecutableInDefaultPaths(), setVar(), showMessage(), and wfIsWindows().
|
protected |
Environment check for ImageMagick and GD.
Definition at line 860 of file Installer.php.
References locateExecutableInDefaultPaths(), setVar(), showMessage(), and wfIsWindows().
|
protected |
Check the libicu version.
Definition at line 1067 of file Installer.php.
References showMessage(), and unicodeChar().
|
protected |
Environment check for available memory.
Definition at line 778 of file Installer.php.
References $limit, setVar(), showMessage(), and wfShorthandToInteger().
|
protected |
Scare user to death if they have mod_security or mod_security2.
Definition at line 827 of file Installer.php.
References showMessage().
|
protected |
Environment check to inform user which paths we've assumed.
Reimplemented in CliInstaller, and WebInstaller.
Definition at line 921 of file Installer.php.
References getVar(), and showMessage().
|
protected |
Environment check for the PCRE module.
Definition at line 756 of file Installer.php.
References showError().
|
protected |
Environment check to inform user which server we've assumed.
Definition at line 908 of file Installer.php.
References envGetDefaultServer(), and showMessage().
|
protected |
|
protected |
Checks if suhosin.get.max_value_length is set, and if so generate a warning because it decreases ResourceLoader performance.
Definition at line 1031 of file Installer.php.
References showMessage().
|
protected |
Environment check for the permissions of the uploads directory.
Definition at line 1012 of file Installer.php.
References $dir, $IP, dirIsExecutable(), getVar(), global, and showMessage().
|
abstractprotected |
Helper function to be called from envPrepServer()
Reimplemented in CliInstaller, and WebInstaller.
Referenced by envCheckServer(), and envPrepServer().
|
protected |
Environment prep for setting $IP and $wgScriptPath.
Reimplemented in WebInstaller.
Definition at line 1119 of file Installer.php.
|
protected |
Environment prep for the server hostname.
Definition at line 1103 of file Installer.php.
References envGetDefaultServer(), and setVar().
Installer::findExtensions | ( | $directory = 'extensions' | ) |
Finds extensions that follow the format /$directory/Name/Name.php, and returns an array containing the value for 'Name' for each found extension.
Reasonable values for $directory include 'extensions' (the default) and 'skins'.
string | $directory | Directory to search in |
Definition at line 1302 of file Installer.php.
References getVar().
Referenced by CliInstaller\__construct().
Installer::generateKeys | ( | ) |
Generate $wgSecretKey.
Will warn if we had to use an insecure random source.
Definition at line 1500 of file Installer.php.
References $keys, doGenerateKeys(), and getVar().
Installer::getCompiledDBs | ( | ) |
Get a list of DBs supported by current PHP setup.
Definition at line 502 of file Installer.php.
References $compiledDBs.
Referenced by envCheckDB().
Installer::getDBInstaller | ( | $type = false | ) |
Get an instance of DatabaseInstaller for the specified DB type.
mixed | $type | DB installer for which is needed, false to use default. |
Definition at line 513 of file Installer.php.
References $type, and getVar().
Referenced by __construct(), envCheckDB(), and performInstallation().
|
static |
Get a list of known DB types.
Definition at line 417 of file Installer.php.
References $dbTypes.
Referenced by WebInstallerDBConnect\execute(), WebInstallerExistingWiki\handleExistingUpgrade(), and DatabaseUpdater\newForDB().
Installer::getDefaultSkin | ( | array | $skinNames | ) |
Returns a default value to be used for $wgDefaultSkin: normally the one set in DefaultSettings, but will fall back to another if the default skin is missing and some other one is present instead.
string[] | $skinNames | Names of installed skins. |
Definition at line 1339 of file Installer.php.
References $GLOBALS.
Referenced by CliInstaller\__construct().
|
protected |
Overridden by WebInstaller to provide lastPage parameters.
string | $page |
Reimplemented in WebInstaller.
Definition at line 1289 of file Installer.php.
References $page.
|
static |
Determine if LocalSettings.php exists.
If it does, return its variables.
Definition at line 533 of file Installer.php.
References $IP, $wgAutoloadClasses, $wgExtensionDirectory, $wgStyleDirectory, and global.
Referenced by CliInstaller\execute(), WebInstallerExistingWiki\execute(), and DatabaseUpdater\loadExtensions().
Installer::getFakePassword | ( | $realPassword | ) |
Get a fake password for sending back to the user in HTML.
This is a security mechanism to avoid compromise of the password in the event of session ID compromise.
string | $realPassword |
Definition at line 574 of file Installer.php.
Referenced by WebInstaller\getPasswordBox().
|
protected |
Get an array of install steps.
Should always be in the format of array( 'name' => 'someuniquename', 'callback' => array( $obj, 'method' ), ) There must be a config-install-$name message defined per step, which will be shown on install.
DatabaseInstaller | $installer | DatabaseInstaller so we can make callbacks |
Definition at line 1412 of file Installer.php.
References $installSteps, as, and getVar().
Referenced by performInstallation().
Installer::getParserOptions | ( | ) |
|
staticprotected |
Get an array of likely places we can find executables.
Check a bunch of known Unix-like defaults, as well as the PATH environment variable (which should maybe make it work for Windows?)
Definition at line 1132 of file Installer.php.
Installer::getVar | ( | $name, | |
$default = null |
|||
) |
Get an MW configuration variable, or internal installer configuration variable.
The defaults come from $GLOBALS (ultimately DefaultSettings.php). Installer variables are typically prefixed by an underscore.
string | $name | |
mixed | $default |
Definition at line 489 of file Installer.php.
References $name, and settings.
Referenced by CliInstaller\__construct(), createSysop(), CliInstaller\envCheckPath(), envCheckPath(), envCheckShellLocale(), envCheckUploadsDirectory(), WebInstaller\execute(), findExtensions(), generateKeys(), WebInstaller\getCheckBox(), getDBInstaller(), getInstallSteps(), WebInstaller\getPasswordBox(), WebInstaller\getRadioElements(), WebInstaller\getTextArea(), WebInstaller\getTextBox(), includeExtensions(), WebInstaller\setupLanguage(), and subscribeToMediaWikiAnnounce().
|
protected |
|
static |
Search a path for any of the given executable names.
Returns the executable name if found. Also checks the version string returned by each executable.
Used only by environment checks.
string | $path | Path to search |
array | $names | Array of executable names |
array | bool | $versionInfo | False or array with two members: 0 => Command to run for version check, with $1 for the full executable name 1 => String to compare the output with |
If $versionInfo is not false, only executables with a version matching $versionInfo[1] will be returned.
Definition at line 1157 of file Installer.php.
References $command, $name, $path, as, wfEscapeShellArg(), and wfShellExec().
Referenced by locateExecutableInDefaultPaths().
|
static |
Same as locateExecutable(), but checks in getPossibleBinPaths() by default.
array | $names | Array of possible names. |
array | bool | $versionInfo | Default: false or array with two members: 0 => Command to run for version check, with $1 for the full executable name 1 => String to compare the output with |
If $versionInfo is not false, only executables with a version matching $versionInfo[1] will be returned.
Definition at line 1196 of file Installer.php.
References $path, as, and locateExecutable().
Referenced by TidySupport\__construct(), envCheckDiff3(), envCheckGit(), envCheckGraphics(), and Maintenance\readlineEmulation().
|
static |
On POSIX systems return the primary group of the webserver we're running under.
On other systems just returns null.
This is used to advice the user that he should chgrp his mw-config/data/images directory as the webserver user before he can install.
Public because SqliteInstaller needs it, and doesn't subclass Installer.
Definition at line 602 of file Installer.php.
Referenced by SqliteInstaller\dataDirOKmaybeCreate().
|
static |
Override the necessary bits of the config to run an installation.
Definition at line 1643 of file Installer.php.
References $GLOBALS, and CACHE_NONE.
Installer::parse | ( | $text, | |
$lineStart = false |
|||
) |
Convert wikitext $text to HTML.
This is potentially error prone since many parser features require a complete installed MW database. The solution is to just not use those features when you write your messages. This appears to work well enough. Basic formatting and external links work just fine.
But in case a translator decides to throw in a "#ifexist" or internal link or whatever, this function is guarded to catch the attempted DB access and to present some fallback text.
string | $text | |
bool | $lineStart |
Definition at line 632 of file Installer.php.
References $e, $html, $out, $wgParser, and global.
Referenced by WebInstaller\downloadLinkHook(), WebInstaller\getCheckBox(), WebInstaller\getHelpBox(), WebInstaller\getInfoBox(), WebInstaller\getRadioElements(), and WebInstaller\showMessage().
Installer::performInstallation | ( | $startCB, | |
$endCB | |||
) |
Actually perform the installation.
callable | $startCB | A callback array for the beginning of each step |
callable | $endCB | A callback array for the end of each step |
Definition at line 1466 of file Installer.php.
References $name, $status, as, getDBInstaller(), getInstallSteps(), and setVar().
Referenced by CliInstaller\execute().
Installer::populateSiteStats | ( | DatabaseInstaller | $installer | ) |
Install step which adds a row to the site_stats table with appropriate initial values.
DatabaseInstaller | $installer |
Definition at line 673 of file Installer.php.
References $status, and DatabaseInstaller\getConnection().
Installer::restoreLinkPopups | ( | ) |
Definition at line 660 of file Installer.php.
References $wgExternalLinkTarget, and global.
Installer::setParserLanguage | ( | $lang | ) |
ParserOptions are constructed before we determined the language, so fix it.
Language | $lang |
Definition at line 1279 of file Installer.php.
References $lang.
Installer::setPassword | ( | $name, | |
$value | |||
) |
Set a variable which stores a password, except if the new value is a fake password in which case leave it as it is.
string | $name | |
mixed | $value |
Definition at line 585 of file Installer.php.
References $name, $value, and setVar().
Referenced by WebInstaller\setVarsFromRequest().
Installer::setVar | ( | $name, | |
$value | |||
) |
Set a MW configuration variable, or internal installer configuration variable.
string | $name | |
mixed | $value |
Definition at line 475 of file Installer.php.
References $name, $value, and settings.
Referenced by CliInstaller\__construct(), doEnvironmentChecks(), doGenerateKeys(), envCheckCache(), envCheckDiff3(), envCheckGit(), envCheckGraphics(), envCheckMemory(), envCheckShellLocale(), envPrepPath(), WebInstaller\envPrepPath(), envPrepServer(), performInstallation(), setPassword(), WebInstaller\setupLanguage(), and WebInstaller\setVarsFromRequest().
|
abstract |
Same as showMessage(), but for displaying errors.
string | $msg |
Reimplemented in CliInstaller, and WebInstaller.
Referenced by doEnvironmentChecks(), envCheckBrokenXML(), envCheckDB(), and envCheckPCRE().
|
abstract |
UI interface for displaying a short message The parameters are like parameters to wfMessage().
The messages will be in wikitext format, which will be converted to an output format such as HTML or text before being sent to the user.
string | $msg |
Reimplemented in CliInstaller, and WebInstaller.
Referenced by doEnvironmentChecks(), envCheckCache(), envCheckDiff3(), envCheckGit(), envCheckGraphics(), envCheckLibicu(), envCheckMemory(), envCheckModSecurity(), envCheckPath(), envCheckServer(), envCheckSuhosinMaxValueLength(), and envCheckUploadsDirectory().
|
abstract |
Show a message to the installing user by using a Status object.
Status | $status |
Reimplemented in CliInstaller, and WebInstaller.
Referenced by envCheckDB().
|
private |
Status | $s |
Definition at line 1585 of file Installer.php.
References $params, $res, $s, and getVar().
Referenced by createSysop().
|
protected |
Convert a hex string representing a Unicode code point to that code point.
string | $c |
Definition at line 1046 of file Installer.php.
Referenced by envCheckLibicu().
|
protected |
List of detected DBs, access using getCompiledDBs().
Definition at line 62 of file Installer.php.
Referenced by getCompiledDBs().
|
protected |
Cached DB installer instances, access using getDBInstaller().
Definition at line 69 of file Installer.php.
|
staticprotected |
Known database types.
These correspond to the class names <type>Installer, and are also MediaWiki database types valid for $wgDBtype.
To add a new type, create a <type>Installer class and a Database<type> class, and add a config-type-<type> message to MessagesEn.php.
Definition at line 101 of file Installer.php.
Referenced by getDBTypes().
|
protected |
MediaWiki configuration globals that will eventually be passed through to LocalSettings.php.
The names only are given here, the defaults typically come from DefaultSettings.php.
Definition at line 155 of file Installer.php.
|
protected |
A list of environment check methods called by doEnvironmentChecks().
These may output warnings using showMessage(), and/or abort the installation process by returning false.
For the WebInstaller these are only called on the Welcome page, if these methods have side-effects that should affect later page loads (as well as the generated stylesheet), use envPreps instead.
Definition at line 120 of file Installer.php.
|
protected |
A list of environment preparation methods called by doEnvironmentPreps().
Definition at line 143 of file Installer.php.
|
protected |
Extra steps for installation, for things like DatabaseInstallers to modify.
Definition at line 235 of file Installer.php.
|
private |
The actual list of installation steps.
This will be initialized by getInstallSteps()
Definition at line 228 of file Installer.php.
Referenced by getInstallSteps().
|
protected |
Variables that are stored alongside globals, and are used for any configuration of the installation process aside from the MediaWiki configuration.
Map of names to defaults.
Definition at line 191 of file Installer.php.
Referenced by __construct().
array Installer::$licenses |
License types.
Definition at line 279 of file Installer.php.
|
protected |
Supported language codes for Mailman.
Definition at line 326 of file Installer.php.
|
protected |
URL to mediawiki-announce subscription.
Definition at line 320 of file Installer.php.
|
protected |
Minimum memory size in MB.
Definition at line 76 of file Installer.php.
|
protected |
Known object cache types and the functions used to test for their existence.
Definition at line 242 of file Installer.php.
|
protected |
Cached ParserOptions, used by parse().
Definition at line 90 of file Installer.php.
Referenced by getParserOptions().
|
protected |
Cached Title, used by parse().
Definition at line 83 of file Installer.php.
array Installer::$rightsProfiles |
User rights profiles.
Definition at line 254 of file Installer.php.
|
protected |
Definition at line 55 of file Installer.php.
Referenced by WebInstaller\execute(), and WebInstaller\finish().
const Installer::MINIMUM_PCRE_VERSION = '7.2' |
The oldest version of PCRE we can support.
Defining this is necessary because PHP may be linked with a system version of PCRE, which may be older than that bundled with the minimum PHP version.
Definition at line 50 of file Installer.php.
Referenced by UpdateMediaWiki\compatChecks().