Last modified: 2010-05-15 15:56:53 UTC
I've been banging my head against a wall trying to upgrade to 1.6.3 from 1.5.6 and I figured out that there is something wrong with the 1.6.3 release. After I unpack the new source code to my 1.5.6 release, move the directory to be called mediawiki-1.6.3, change the w symlink to point to that and then change LocalSettings.php and AdminSettings.php to point to the new path and be setup properly, I run php maintenance/update.php and get this error: Content-type: text/html X-Powered-By: PHP/4.3.10 <br /> <b>Fatal error</b>: Call to undefined function: wfrunhooks() in <b>/home/blgpedia/www/dev.bloomingpedia.org/mediawiki-1.6.3/includes/QueryPage.php</b> on line <b>44</b><br /> For some reason, the $IP variable gets nullified in the includes/QueryPage.php file when running the wfRunHooks function in there. I haven't looked into it much more than that but that should give you a start. Today, I tried upgrading to older version of the 1.6 code and found that I was able to successfully upgrade to 1.6.1, 1.6.2 fine. I tried upgrading to 1.6.3 again just to make sure it was still a problem and it was still giving the same error. The changelog on the website says that all that changed from 1.6.2 to 1.6.3 is "Installation on MySQL 4.0 older than 4.0.18 should work again." but that doesn't affect me. Perhaps some file or code was overwritten in SVN or something got botched. It it makes any difference, this installation of mediawiki was first installed under 1.4.7, then upgraded to 1.5.6, there could be some files left over that the upgrade script didn't get or something.
Actually, I'm not sure what I did when I tried 1.6.2 and 1.6.1, but I can't get the same thing to work now. I must have done something different when I tested them. I'm having the same problem with all three of them. I have confirmed though that I can do the upgrade on version 1.6.1 , 1.6.2 and 1.6.3 by doing the web based upgrade instead of the CLI one. But I like doing the CLI one better. Continuing on, it appears that this is happening because my LocalSettings.php still is setting the $IP variable as well as a few other variables at the top of that file. I suppose this is partially my fault, but if you always use the command line method for upgrading, I don't think it is completely clear what all needs to change in the LocalSettings.php for every new minor version.
What extensions are installed? Any old ones, perchance, which could be including things in the wrong order?