Magento upgrade guide: Magento upgrade from 1.4.x / 1.3.x version to Magento 1.5.x / 1.6.x / 1.7.x

LAST UPDATE: 11 May 2012

This is the most comprehensive description of the Magento 1.3.x, 1.4.x, 1.5.x, 1.6.x and 1.7.x upgrade process. It contains step-by-step instructions and troubleshooting information.

 

Prepare for Magento upgrade (for 1.3.x / 1.4.x version only)

Lets imaging that you have old Magento 1.3.x / 1.4.x store and you need to upgrade it to latest Magento 1.6.x or 1.7.x version. First of all it is highly recommended to backup your live store files / database and disable Magento compiler cache.

Next you need to get SSH access from your hosting provider and connect to your server via SSH protocol (using Linux command shell or Putty program for Windows). After connection via SSH, go to your store folder and execute these commands:

1 – Change permissions on lib/pear folder to writable (recursively):

chmod -R 777 lib/PEAR

2 – Execute this command to prepare Magento for upgrade:

./pear mage-setup

Most likely you will see this result after command execution:

Channel “connect.magentocommerce.com/core” is already initialized

 

Upgrade from Magento 1.3.x / Magento 1.4.x to Magento 1.4.2.0

This step is necessary even if you upgrade your Magento store to 1.6 or 1.7 versions.

3 – Execute Magento upgrade command:

./pear upgrade -f magento-core/Mage_All_Latest-stable

Output of the command will show you what core packages were upgraded:


upgrade ok: channel://connect.magentocommerce.com/core/Mage_Centinel-1.4.2.0
upgrade ok: channel://connect.magentocommerce.com/core/Interface_Frontend_Base_Default-1.4.2.0
upgrade ok: channel://connect.magentocommerce.com/core/Phoenix_Moneybookers-1.2.3
upgrade ok: channel://connect.magentocommerce.com/core/Find_Feed-1.0.7
upgrade ok: channel://connect.magentocommerce.com/core/Interface_Adminhtml_Default-1.4.2.0

4 – When this part of the upgrade will be complete, enter these commands:

chmod 550 ./mage
./mage mage-setup .

You will see this result after command execution:

Successfully added: http://connect20.magentocommerce.com/community

It means that Magento connect 2.0 channel was added to the channels list successfully.

5 – Next, enter this command:

./mage sync

The result will be:


Successfully added: community/Mage_Locale_en_US-1.4.2.0
Successfully added: community/Interface_Install_Default-1.4.2.0
Successfully added: community/Phoenix_Moneybookers-1.2.3
Successfully added: community/Mage_Downloader-1.5.0.0
Successfully added: community/Lib_Google_Checkout-1.4.2.0

Upgrade to Magento 1.4.2.0 is complete and now you can proceed with upgrade to Magento 1.6.x or 1.7.x version.

 

Upgrade from Magento 1.4.x / Magento 1.5.x to Magento 1.6.x or Magento 1.7.x

Now you can upgrade your store to version 1.6 or 1.7.

Before proceeding with this part of Magento upgrade, it is very important to see to what version Magento upgrade scripts will upgrade your store. Enter this command to check this:

./mage list-upgrades

If you will see this result:

Updates for community:
Mage_All_Latest: 1.4.2.1 => 1.6.2.0
Lib_Js_Mage: 1.4.2.0 => 1.6.2.0
Lib_Varien: 1.4.2.0 => 1.6.2.0

It means that your Magento will be upgraded to version 1.6.2.0. If it is not what you need you can change upgrade channel to “beta” and upgrade your Magento to version 1.7.0.0 RC1.

6 – Enter this command to change the upgrade channel to stable (remember, “stable” channel will upgrade your Magento to 1.6.2.0 version):

./mage config-set preferred_state stable

After this the “./mage list-upgrades” command will show you this result:

Updates for community:
Mage_All_Latest: 1.4.2.1 => 1.6.2.0.
Lib_Js_Mage: 1.4.2.0 => 1.6.2.0
Lib_Varien: 1.4.2.0 => 1.6.2.0
Lib_Phpseclib: 1.4.2.0 => 1.6.2.0
Mage_Core_Adminhtml: 1.4.2.0 => 1.6.2.0
Mage_Core_Modules: 1.4.2.0 => 1.6.2.0

7 – After channel selection you can upgrade your Magento to 1.6.2.0 (or to Magento 1.7.0.0 RC1) using this command:

./mage upgrade-all –force

You will see upgraded packages on your screen:


Package upgraded: community/Mage_Locale_en_US 1.6.2.0
Package upgraded: community/Lib_Mage 1.6.2.0
Package upgraded: community/Lib_ZF 1.11.1.0
Package upgraded: community/Lib_Js_Prototype 1.7.0.0.1
Package upgraded: community/Lib_ZF_Locale 1.11.1.0

Now the upgrade is complete and you can execute database upgrade visiting your Magento store in your browser, this process will take several minutes, so be patient. If everything was upgraded correctly, you will see upgraded store in your browser.

You can check version of your store in the footer of Magento administration panel.

 

Need any help with Magento upgrade?

Turnkeye.com offers professional Magento support services (including Magento development and Magento upgrade service), feel free to contact our team.

 

 

Troubleshooting

1 – Magento upgrade script error:

upgrade-all: Please check for sufficient write file permissions.
Error: upgrade-all: Your Magento folder does not have sufficient write permissions, which downloader requires.

Execute this command to correct the error:

chmod -R 777 Upgrade

 

2 – Magento upgrade script error:

upgrade-all: Invalid stability in compareStabilities argument.

Execute these commands, it will fix the issue:

./mage channel-add connect20.magentocommerce.com/community
./mage channel-add connect20.magentocommerce.com/core
./mage sync

Or as a solution you can run this command:

./mage install http://connect20.magentocommerce.com/community Mage_All_Latest –force

 

3 – Server error:

“Internal Server Error” instead of Magento storefront page or administration zone pages.

Most likely issue is connected with wrong permissions.

Fix this issue using these recursive commands:

find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;

 

4 – Magento error: Different errors in Magento database.

Reindex your database in Magento administration panel and clear Magento cache.

 

5 – Magento error:

“Invalid mode for clean() method”.

Clear Zend cache (all files, including “Backend” folder) in [magento_folder]/app/code/core/Zend/Cache/

 

6 – Magento error:

“Call to a member function toHtml() on a non-object in …/Layout.php”.

Open [magento_folder]/app/design/frontend/default/[your_theme]/layout/page.xml and replace this line of the code:

<block type=”core/profiler” output=”toHtml”/>

With:

<block type=”core/profiler” output=”toHtml” name=”core_profiler”/>

 

7 – Magento error:

“Maximum key size must be smaller 32″.

Clear Magento cache.

 

8 – Pagination is not showing on product listing:

Open this file: app/code/core/Mage/Catalog/Block/Product/List/Toolbar.php

And replace this line of the code:

class Mage_Catalog_Block_Product_List_Toolbar extends Mage_Core_Block_Template

with:

class Mage_Catalog_Block_Product_List_Toolbar extends Mage_Page_Block_Html_Pager

 

9 – Magento error:

Column not found: 1054 Unknown column ‘custom_use_parent_settings’ in ‘where clause’


Reindex your database using Linux shell.
 

Vyacheslav is a talented programmer who trains our Zend/Magento juniors. His passions are programming, maths, cryptography and Formula 1 racing. Yet, he loves to travel in Europe.

Facebook Twitter 


Tags: , , , , , ,

53 Responses to “Magento upgrade guide: Magento upgrade from 1.4.x / 1.3.x version to Magento 1.5.x / 1.6.x / 1.7.x”

  1. ramesh says:

    Hello All,

    I follwed the above mentioned instruction after that i got like this error.
    Fatal error: Class ‘Mage_Core_Model_Resource_Type_Db_Pdo_Mysql’ not found in /var/www/vhosts/novosurgical.com/subdomains/test/httpdocs/app/code/core/Mage/Core/Model/Resource.php on line 112

    Could pl give me solution for this.

    Thanks in Advans

  2. Turnkeye.com says:

    Hello Ramesh,

    Seems that some files or folders are missing in your Magento. How you upload them? Using FTP?

  3. Mark says:

    Hey Turnkeye,

    Everything seemed to go according to plan bar a few issues with templates. However my search no longer seems to work correctly. Any search returns all products. Ive done a bit of googling and come across mostly tweaks to core code to fix it, Id prefer to find out the root cause and fix that.

    Kind Regards,

    Mark.

Leave a Reply

*