Upgrading to Wordpress 2.5 on Brinkster
Friday, April 25th, 2008It’s been awhile since my last blog update adventure and while I was expecting a smooth upgrade from version 2.2.2 to 2.5, things turned out quite differently. It’s also worth noting that I was on Brinkster’s Windows Pro hosting plan which means IIS and PHP 5.2.3.
Part 1
The first sign of something broken were the few lines of cryptic error messages appearing at the top and bottom of the upgrade.php page.
"Undefined index: PATH_INFO" in wp-settings.php
The simple fix was to comment out the lines of code in wp-settings.php (lines 71-74 if I remember correctly) that tried accessing the PATH_INFO server variable.
Now after proceeding to upgrade the database, which was successful, more cryptic error messages appeared at the top and bottom of the page:
Undefined index: REQUEST_URI in wp-settings.php
After much Googling, it finally dawned on me that Brinkster might not actually be using the PATH_INFO server variable that is used to populate the REQUEST_URI server variable. Instead, they were using ORIG_PATH_INFO, so the simple fix this time was to apply the following code over lines 71-74 of the wp-settings.php file.
I’ve also posted a solution here, which would be helpful if you want to follow a discussion on the issue and check out solutions for non-Brinkster related hosts.
Part 2
Ok, so now it seemed like everything was up and running smoothly and I was about to bask in the satisfaction of another successful, albeit long overdue, upgrade. Clicked on a link to a post, and I was hit with a 404 error. What? Clicked on some other posts, 404. My pages, 404. Categories, 404. Calendar, 404. Not only were all my permalinks were broken, everything else was too! Except, of course, the link to the Site Admin page which didn’t require any special URL rewrites.
After mucking around with permalinks and more Googling for a good 2 hours plus, it finally dawned on me that only the default yucky http://www.pagesofink.com/?p=123 style links would work. Not good, considering a lot of links to other posts in my blog and from other blogs use the http://www.pagesofink.com/index.php/archies/post-name format. No other code hacks like this one here worked and I was getting desperate to the point of considering other hosting providers like Dreamhost.
In a final last-chance attempt, I contacted Brinkster Live Support to ask if I could have my subscription migrated to an equivalent Linux package. Surprise surprise, they were very obliging and had it all done within the hour. Now, I’ve been using Brinkster for a long time now, and if there’s anything good about them, it’s their Live Support. Live Support is cool because you get to chat real-time with an operator online and they are usually very helpful and responsive. As much as I complain about Brinkster, I must admit their Live Support have pulled me out of a couple of jams in the past. Plus, it sure beats e-mail as you never know when the next response is coming.
Part 3
Now that I’m on Linux and having been given the assurances that the Linux Apache webserver comes with the necessary mod_rewrite plugin for pretty permalinks to work properly, I was full of anticipation that I would be out of the woods soon enough.
So I give my .htaccess file proper write rights using the chmod (777) command in my FTP client and browsed to the permalinks settings page (wp-admin/options-permalink.php) hoping to put my permalink misery out for good, when all of a sudden I’m faced with 500 errors. Everywhere. Even the Site Admin pages.
Argh
Now, sparing the painful details of how I narrowed this down, it appears that Brinkster does not like you to play around with the .htaccess file. Period. Contrary to what Wordpress tells you, do not go and manually put the following settings into the file:
# BEGIN WordPress
<ifmodule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</ifmodule>
# END WordPress
The Brinkster default .htaccess file looks like this:
# -FrontPage-
#IndexIgnore .htaccess */.??* *~ *# */HEADER* */README* */_vti*
<limit GET POST>
order deny,allow
deny from all
allow from all
</limit>
<limit PUT DELETE>
order deny,allow
deny from all
</limit>
AuthName inkyneil.brinkster.net
AuthUserFile /sites/blah/inkyneil/home/public_html/_vti_pvt/blah.pwd
AuthGroupFile /sites/blah/inkyneil/home/public_html/_vti_pvt/blah.grp
You simply need to change it to:
# -FrontPage-
#IndexIgnore .htaccess */.??* *~ *# */HEADER* */README* */_vti*
<limit GET POST>
order deny,allow
#deny from all
allow from all
</limit>
<limit PUT DELETE>
order deny,allow
#deny from all
allow from all
</limit>
AuthName inkyneil.brinkster.net
AuthUserFile /sites/blah/inkyneil/home/public_html/_vti_pvt/blah.pwd
AuthGroupFile /sites/blah/inkyneil/home/public_html/_vti_pvt/blah.grp
So, it’s one last trip back to the permalink admin page to update the permalink structure. Lo-and-behold, everything finally works and is back to normal.
Seriously, that was way too much work just to upgrade Wordlress. Now, to get email working (Brinkster has got certain restrictions with phpmailer), upgrade my plug-ins, find a new theme, and I’m all set!
Popularity: 52% [?]
























