X-Git-Url: http://git.cyclocoop.org/?a=blobdiff_plain;f=maintenance%2FcommandLine.inc;h=bc75f9ac91d75ba09b211ff4f8edc2512566e5af;hb=a448e8f9f1cb288db7b61a0770ebd9ecbd4b363a;hp=68afea87927c521a0db93297cf74b2cc77636cf0;hpb=83f7f25ea2db9c639ea68263eae2a94e44c429fd;p=lhc%2Fweb%2Fwiklou.git diff --git a/maintenance/commandLine.inc b/maintenance/commandLine.inc index 68afea8792..bc75f9ac91 100644 --- a/maintenance/commandLine.inc +++ b/maintenance/commandLine.inc @@ -1,8 +1,9 @@ siteFromDB( $db ); # If not, work out the language and site the old way @@ -132,6 +151,7 @@ if ( file_exists( '/home/wikipedia/common/langlist' ) ) { # This is for the IRC scripts, which now run as the apache user # The apache user doesn't have access to the wikiadmin_pass command if ( $_ENV['USER'] == 'apache' ) { + #if ( posix_geteuid() == 48 ) { $wgUseNormalUser = true; } @@ -140,6 +160,10 @@ if ( file_exists( '/home/wikipedia/common/langlist' ) ) { $DP = $IP; ini_set( 'include_path', ".:$IP:$IP/includes:$IP/languages:$IP/maintenance" ); + if ( $lang == 'test' && $site == 'wikipedia' ) { + define( 'TESTWIKI', 1 ); + } + #require_once( $IP.'/includes/ProfilerStub.php' ); require_once( $IP.'/includes/Defines.php' ); require_once( $IP.'/CommonSettings.php' ); @@ -157,12 +181,20 @@ if ( file_exists( '/home/wikipedia/common/langlist' ) ) { if ( isset( $options['conf'] ) ) { $settingsFile = $options['conf']; } else { - $settingsFile = "../he/LocalSettings.php"; + $settingsFile = "$IP/LocalSettings.php"; + } + if ( isset( $options['wiki'] ) ) { + $bits = explode( '-', $options['wiki'] ); + if ( count( $bits ) == 1 ) { + $bits[] = ''; + } + define( 'MW_DB', $bits[0] ); + define( 'MW_PREFIX', $bits[1] ); } if ( ! is_readable( $settingsFile ) ) { print "A copy of your installation's LocalSettings.php\n" . - "must exist in the source directory.\n"; + "must exist and be readable in the source directory.\n"; exit( 1 ); } $wgCommandLineMode = true; @@ -170,15 +202,20 @@ if ( file_exists( '/home/wikipedia/common/langlist' ) ) { #require_once( $IP.'/includes/ProfilerStub.php' ); require_once( $IP.'/includes/Defines.php' ); require_once( $settingsFile ); - ini_set( 'include_path', ".$sep$IP$sep$IP/includes$sep$IP/languages$sep$IP/maintenance" ); + /* ini_set( 'include_path', ".$sep$IP$sep$IP/includes$sep$IP/languages$sep$IP/maintenance" ); */ + + $adminSettings = isset( $options['aconf'] ) + ? $options['aconf'] + : "{$IP}/AdminSettings.php"; + if( is_readable( $adminSettings ) ) + require_once( $adminSettings ); - if ( is_readable( $IP.'/AdminSettings.php' ) ) { - require_once( $IP.'/AdminSettings.php' ); - } } # Turn off output buffering again, it might have been turned on in the settings files -@ob_end_flush(); +if( ob_get_level() ) { + ob_end_flush(); +} # Same with these $wgCommandLineMode = true; @@ -192,6 +229,10 @@ if ( empty( $wgUseNormalUser ) && isset( $wgDBadminuser ) ) { $wgDBservers[$i]['password'] = $wgDBpassword; } } + if( isset( $wgLBFactoryConf['serverTemplate'] ) ) { + $wgLBFactoryConf['serverTemplate']['user'] = $wgDBuser; + $wgLBFactoryConf['serverTemplate']['password'] = $wgDBpassword; + } } if ( defined( 'MW_CMDLINE_CALLBACK' ) ) { @@ -201,31 +242,23 @@ if ( defined( 'MW_CMDLINE_CALLBACK' ) ) { ini_set( 'memory_limit', -1 ); -require_once( 'Setup.php' ); -require_once( 'install-utils.inc' ); -$wgTitle = null; # Much much faster startup than creating a title object -set_time_limit(0); - -// -------------------------------------------------------------------- -// Functions -// -------------------------------------------------------------------- - -function wfWaitForSlaves( $maxLag ) { - global $wgLoadBalancer; - if ( $maxLag ) { - list( $host, $lag ) = $wgLoadBalancer->getMaxLag(); - while ( $lag > $maxLag ) { - $name = @gethostbyaddr( $host ); - if ( $name !== false ) { - $host = $name; - } - print "Waiting for $host (lagged $lag seconds)...\n"; - sleep($maxLag); - list( $host, $lag ) = $wgLoadBalancer->getMaxLag(); - } +if( version_compare( phpversion(), '5.2.4' ) >= 0 ) { + // Send PHP warnings and errors to stderr instead of stdout. + // This aids in diagnosing problems, while keeping messages + // out of redirected output. + if( ini_get( 'display_errors' ) ) { + ini_set( 'display_errors', 'stderr' ); } + + // Don't touch the setting on earlier versions of PHP, + // as setting it would disable output if you'd wanted it. + + // Note that exceptions are also sent to stderr when + // command-line mode is on, regardless of PHP version. } +$wgShowSQLErrors = true; - - -?> +require_once( "$IP/includes/Setup.php" ); +require_once( "$IP/install-utils.inc" ); +$wgTitle = null; # Much much faster startup than creating a title object +@set_time_limit(0);