≡ Menu

Next post:

Previous post:

Day 264: Maitri’s Guide To The WordPress 2.0 Upgrade

Not that you, dear reader, can tell, but VatulBlog now runs on WordPress 2.0. What are women but whimsical multi-taskers, who decide suddenly to upgrade their blog platforms between paying bills and dinner on the stove?

The upgrade took, but not without its problems, especially given that I upgraded from 1.5.2 to 2.0.2, i.e. Long Overdue. Here are the steps I went through, some problems I encountered and how they were fixed. The overarching theme: If it don’t work, get a bigger hammer and KEEP GOING.

1. Back Up Your Current Blog: This means two things: a) create and download a backup of your wordpress database and b) copy ALL blog files, including the database, to local disk or separate space on remote server. Remember, Jesus saves.

2. Follow All Upgrade Instructions: The thorough WordPress 2.0 Upgrade Instructions are thorough for a reason – you MUST follow them to a tee.

3. Run The Upgrade Script: No fatal errors related to the upgrade and database does not mean you are in the clear. Once I ran the script and logged into the Admin Panel, I received this error message when I tried to do anything: You do not have sufficient permissions to access this page.

There are several things to try when this error message comes up:

a) Clear all of your browser’s passwords, cookies and temp files, i.e. start a new session of Firefox (or IE, if you must). Log in to your Admin Panel and see if you have all permissions. If that doesn’t work,

b) Delete wp-login.php from server and upload new copy from fresh WordPress download. Then, follow these instructions very carefully. Clear your browser’s cache and follow step a) above again. If that doesn’t work, (call and whimper at another WordPress user who may or may not be at a computer at the time and) keep trudging.

c) Realize that your new install may not like your old password. If you are not comfortable with MySQL interfaces, do NOT attempt this step and get someone more proficient to do it with you. If you are brave, make sure your database is backed up (which, for shame, you should have back in Step 1) and do the following: Edit Users Table. This step resets your password in the database. Follow Step a) again and …

d) Admin Panel let me in with minimal pain. However, I still could not access all functionality and continued to get the “insufficient permissions” error message. Now, I share with you a trick bestowed upon me by Sagacious D: Copy the entire error message and paste it in your Google search box. Unless an utter life reject, you cannot be the first one to encounter this problem. Et voila!

e) Mark Jaquith’s Force Upgrade For WordPress Again, follow his instructions to the last letter. Important: Remove the force-upgrade.php file from your blog’s root directory before logging in!

However, my forced upgrade wasn’t so smooth and I got this error message when I ran Mark’s script:

WordPress loaded¦
Upgrade functions loaded¦
Object cache flushed¦

Database made current¦

Fatal error: Call to undefined function: upgrade_160() in /home/vatulnet/public_html/blog/force-upgrade.php on line 35

f) Don’t panic. With some more Googling and perusal of sample code, I discovered that the function upgrade_160() turns out to live in wp-admin/upgrade-functions.php and, obviously, the force-upgrade.php script couldn’t find it in my version of upgrade-functions.php. A new copy of this file was not placed on my server during the WordPress 2.0 upload. Find the latest copy of upgrade-functions.php, check to see that it defines upgrade_160() and upload it to your wp-admin folder. Then, run force-upgrade.php again. Like butta? Now, delete force-upgrade.php from your root directory, clear browser cache and login to your Admin Panel.

Success! Now party like a rock star, implement Asides if you wish and post away.

4. ixr_client: Now, each time I make a post or edit one, I get this error message, but the post still goes through. My next task, should I choose to accept it, is to make the ixr_client class exist. More as it happens.  Update: fixed.

Warning: weblog_ping(/home/vatulnet/public_html/blog/wp-includes/class-IXR.php): failed to open stream: No such file or directory in /home/vatulnet/public_html/blog/wp-includes/functions.php on line 851

Warning: weblog_ping(): Failed opening ‘/home/vatulnet/public_html/blog/wp-includes/class-IXR.php’ for inclusion (include_path=’.:/usr/local/lib/php’) in /home/vatulnet/public_html/blog/wp-includes/functions.php on line 851

Fatal error: Cannot instantiate non-existent class: ixr_client in /home/vatulnet/public_html/blog/wp-includes/functions.php on line 854

5. Problem With Link Management: Finally, managing my links is impossible because wp_users.user_level is not in my WordPress database any longer. This is not a huge problem right now, but I may have to upgrade my wp_users file or manually define the column in MySQL. Again, I will keep you posted as this develops.  Update: fixed.

WordPress database error: [Unknown column ‘wp_users.user_level’ in ‘field list’]
SELECT link_url, link_name, link_image, link_description, link_visible, link_category AS cat_id, cat_name AS category, wp_users.user_login, link_id, link_rating, link_rel, wp_users.user_level FROM wp_links LEFT JOIN wp_linkcategories ON wp_links.link_category = wp_linkcategories.cat_id LEFT JOIN wp_users ON wp_users.ID = wp_links.link_owner ORDER BY link_name

If you want me to clarify a step(s) for you or have suggestions, please don’t hesitate to leave a comment. I published this how-to so people can learn from my roadblocks and that I may do the same from theirs. WordPress rules!

2 comments… add one
  • Dave May 19, 2006, 3:28 PM

    This sounds insanely confusing/nerdy. Alan’s set up the bare bones of a new blog for me, but I have yet to spend much time figuring it out. Ugh.

  • Maitri May 19, 2006, 3:30 PM

    Your blog is inherently 2.0.2 so don’t worry about it. This is for lazybones like me who are just now switching from 1.5 to 2.0 and, trust me, my instructions are clear as the finest crystal compared to a lot of the stuff out there. Also, I have many different solutions in one place.

    As for confusing, another geek said I should be a technical writer for blogging.

Leave A Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.