Hi Everyone,
We are trying to upgrade our Mediawiki from 1.36.4 to 1.38.2. After unpacking 1.38 to /var/www/html/w, and while running update.php, we encounter:
# /var/www/html/w# php /var/www/html/w/maintenance/update.php --quick PHP Fatal error: Uncaught Exception: Unable to open file /ParserFunctions/extension.json: filemtime(): stat failed for /ParserFunctions/extension.json in /var/www/html/w/includes/ registration/ExtensionRegistry.php:182 Stack trace: #0 /var/www/html/w/includes/GlobalFunctions.php(52): ExtensionRegistry->queue() #1 /var/www/html/w/LocalSettings.php(206): wfLoadExtension() #2 /var/www/html/w/includes/Setup.php(204): require_once('/var/www/html/w...') #3 /var/www/html/w/maintenance/doMaintenance.php(96): require_once('/var/www/html/w...') #4 /var/www/html/w/maintenance/update.php(264): require_once('/var/www/html/w...') #5 {main} thrown in /var/www/html/w/includes/registration/ExtensionRegistry.php on line 182
After we commented out every offending line in LocalSettings.php (which included most (all?) added-on extensions, like ParserFunctions, GlobalFunctions, Gadgets, Admin, SimpleMathJax, EmailInvite), we are still left with:
# /var/www/html/w# php /var/www/html/w/maintenance/update.php --quick PHP Fatal error: Uncaught FatalError: $wgBaseDirectory must not be modified in settings f iles! Use the MW_INSTALL_PATH environment variable to override the installation root direc tory. in /var/www/html/w/includes/Setup.php:237 Stack trace: #0 /var/www/html/w/maintenance/doMaintenance.php(96): require_once() #1 /var/www/html/w/maintenance/update.php(264): require_once('/var/www/html/w...') #2 {main} thrown in /var/www/html/w/includes/Setup.php on line 237
Fatal error: Uncaught FatalError: $wgBaseDirectory must not be modified in settings files! Use the MW_INSTALL_PATH environment variable to override the installation root directory. in /var/www/html/w/includes/Setup.php:237 Stack trace: #0 /var/www/html/w/maintenance/doMaintenance.php(96): require_once() #1 /var/www/html/w/maintenance/update.php(264): require_once('/var/www/html/w...') #2 {main} thrown in /var/www/html/w/includes/Setup.php on line 237
We are not setting $IP in our LocalSettings.php (as others have suggested is a problem).
We are left to wonder... why doesn't this stuff just work? If we are forced to upgrade on Mediawiki's cadence, the least you could do is ensure there's an upgrade path.
We are really struggling with the upgrade problems. Any help would be greatly appreciated.
Jeff
On Sun, Jul 3, 2022 at 6:41 PM Jeffrey Walton noloader@gmail.com wrote:
We are trying to upgrade our Mediawiki from 1.36.4 to 1.38.2. After unpacking 1.38 to /var/www/html/w, and while running update.php, we encounter:
# /var/www/html/w# php /var/www/html/w/maintenance/update.php --quick PHP Fatal error: Uncaught Exception: Unable to open file /ParserFunctions/extension.json: filemtime(): stat failed for /ParserFunctions/extension.json in /var/www/html/w/includes/ registration/ExtensionRegistry.php:182 Stack trace: #0 /var/www/html/w/includes/GlobalFunctions.php(52): ExtensionRegistry->queue() #1 /var/www/html/w/LocalSettings.php(206): wfLoadExtension() #2 /var/www/html/w/includes/Setup.php(204): require_once('/var/www/html/w...') #3 /var/www/html/w/maintenance/doMaintenance.php(96): require_once('/var/www/html/w...') #4 /var/www/html/w/maintenance/update.php(264): require_once('/var/www/html/w...') #5 {main} thrown in /var/www/html/w/includes/registration/ExtensionRegistry.php on line 182
After we commented out every offending line in LocalSettings.php (which included most (all?) added-on extensions, like ParserFunctions, GlobalFunctions, Gadgets, Admin, SimpleMathJax, EmailInvite), we are still left with:
# /var/www/html/w# php /var/www/html/w/maintenance/update.php --quick PHP Fatal error: Uncaught FatalError: $wgBaseDirectory must not be modified in settings f iles! Use the MW_INSTALL_PATH environment variable to override the installation root direc tory. in /var/www/html/w/includes/Setup.php:237 Stack trace: #0 /var/www/html/w/maintenance/doMaintenance.php(96): require_once() #1 /var/www/html/w/maintenance/update.php(264): require_once('/var/www/html/w...') #2 {main} thrown in /var/www/html/w/includes/Setup.php on line 237
Fatal error: Uncaught FatalError: $wgBaseDirectory must not be modified in settings files! Use the MW_INSTALL_PATH environment variable to override the installation root directory. in /var/www/html/w/includes/Setup.php:237 Stack trace: #0 /var/www/html/w/maintenance/doMaintenance.php(96): require_once() #1 /var/www/html/w/maintenance/update.php(264): require_once('/var/www/html/w...') #2 {main} thrown in /var/www/html/w/includes/Setup.php on line 237
We are not setting $IP in our LocalSettings.php (as others have suggested is a problem).
We are left to wonder... why doesn't this stuff just work? If we are forced to upgrade on Mediawiki's cadence, the least you could do is ensure there's an upgrade path.
We are really struggling with the upgrade problems. Any help would be greatly appreciated.
I filed abug report on Phabricator at https://phabricator.wikimedia.org/T311966
Jeff
mediawiki-l@lists.wikimedia.org