require_once __DIR__ . '/../includes/PHPVersionCheck.php';
wfEntryPointCheck( 'cli' );
+use MediaWiki\Shell\Shell;
use Wikimedia\Rdbms\DBReplicationWaitError;
/**
// Define this so scripts can easily find doMaintenance.php
define( 'RUN_MAINTENANCE_IF_MAIN', __DIR__ . '/doMaintenance.php' );
+
+/**
+ * @deprecated since 1.31
+ */
define( 'DO_MAINTENANCE', RUN_MAINTENANCE_IF_MAIN ); // original name, harmless
$maintClass = false;
$this->addOption(
'memory-limit',
'Set a specific memory limit for the script, '
- . '"max" for no limit or "default" to avoid changing it'
+ . '"max" for no limit or "default" to avoid changing it',
+ false,
+ true
);
$this->addOption( 'server', "The protocol and server name to use in URLs, e.g. " .
"http://en.wikipedia.org. This is sometimes necessary because " .
}
define( 'MW_DB', $bits[0] );
define( 'MW_PREFIX', $bits[1] );
+ } elseif ( isset( $this->mOptions['server'] ) ) {
+ // Provide the option for site admins to detect and configure
+ // multiple wikis based on server names. This offers --server
+ // as alternative to --wiki.
+ // See https://www.mediawiki.org/wiki/Manual:Wiki_family
+ $_SERVER['SERVER_NAME'] = $this->mOptions['server'];
}
if ( !is_readable( $settingsFile ) ) {
"must exist and be readable in the source directory.\n" .
"Use --conf to specify it." );
}
- if ( isset( $this->mOptions['server'] ) ) {
- $_SERVER['SERVER_NAME'] = $this->mOptions['server'];
- }
$wgCommandLineMode = true;
return $settingsFile;
// something that can do the relevant syscalls. There are a few
// options. Linux and Mac OS X both have "stty size" which does the
// job directly.
- $retval = false;
- $size = wfShellExec( 'stty size', $retval );
- if ( $retval !== 0 ) {
+ $result = Shell::command( 'stty', 'size' )
+ ->execute();
+ if ( $result->getExitCode() !== 0 ) {
return $default;
}
- if ( !preg_match( '/^(\d+) (\d+)$/', $size, $m ) ) {
+ if ( !preg_match( '/^(\d+) (\d+)$/', $result->getStdout(), $m ) ) {
return $default;
}
return [ intval( $m[2] ), intval( $m[1] ) ];