Author: david
Description:
Perform an install using a single codebase with symlinks to multiple install directories, each with separate LocalSettings.php, AdminSettings.php, and
images and extensions directories as described here:
When performing an update to a new version, the maintenance/update.php script fails due to assumption that LocalSettings.php and AdminSettings.php
are in the same root MediaWiki path as the update.php script.
The following is a unified diff of the changes that need to be performed to fix the file. This fix adds an additional --aconf command line option to specify
the location of the AdminSettings.php file. Combined with the use of the existing --conf option, the update.php script will complete successfully.
- commandLine.inc.original 2007-02-21 13:31:07.000000000 -0800
+++ commandLine.inc.new 2007-02-21 13:36:54.000000000 -0800
@@ -34,7 +34,10 @@
if ( !isset( $optionsWithArgs ) ) {
$optionsWithArgs = array();
}
-$optionsWithArgs[] = 'conf'; # For specifying the location of LocalSettings.php
+# For specifying the location of:
+# LocalSettings.php (conf)
+# AdminSettings.php (aconf)
+$optionsWithArgs = array( 'conf', 'aconf' );
$self = array_shift( $argv );
$IP = realpath( dirname( FILE ) . '/..' );
@@ -169,6 +172,11 @@
} else { $settingsFile = "$IP/LocalSettings.php"; }
+ if ( isset( $options['aconf'] ) ) {
+ $aSettingsFile = $options['aconf'];
+ } else {
+ $aSettingsFile = "$IP/AdminSettings.php";
+ }
if ( ! is_readable( $settingsFile ) ) { print "A copy of your installation's LocalSettings.php\n" .
@@ -182,9 +190,9 @@
require_once( $settingsFile ); ini_set( 'include_path', ".$sep$IP$sep$IP/includes$sep$IP/languages$sep$IP/maintenance" );
- if ( is_readable( $IP.'/AdminSettings.php' ) ) {
- require_once( $IP.'/AdminSettings.php' );
- }
+ if ( is_readable( $aSettingsFile ) ) {
+ require_once( $aSettingsFile );
+ }
}
- Turn off output buffering again, it might have been turned on in the settings files
Version: unspecified
Severity: normal