Magento Connect downloader is good for easy 3rd party module installations and upgrades, providing the Magento admin an easy alternative. But when it comes down to upgrading Magento. It should definitely be done via Terminal / SSH access.
So it’s a good idea to have the store installed locally on your local machine, or to have a Staging environment on your server in order to make your tests. (For live servers, we are talking here about VPS or Dedicated hosting, if you don’t have that, then signs are that it’s time to upgrade to a suitable host in order to work efficiently with Magento!)
We’ll show how to do it via SSH, and the issues and solutions we faced during an upgrade.
Login to your SSH terminal. And navigate to your Magento root installation. Execute 1 line by 1 line and check for errors.
cd html/mymagentostore
chmod 550 ./mage
./mage mage-setup .
./mage sync
./mage install http://connect20.magentocommerce.com/community Mage_All_Latest --force
./mage upgrade-all --force
rm -rf downloader/.cache/* downloader/pearlib/cache/* downloader/pearlib/download/* var/cache/*
php shell/indexer.php reindexall
Errors you may, and we did encounter are the following. (If you encountered any other, kindly comment.)
“There has been an error processing your request”. This error happens due to some conflicts, and you have to check var/report with your error log number in hands. See the first line in the file, and start debugging from top to bottom. But generally debugging the first line will unblock your situation.
Some know reasons during upgrades are Module incompatibility or dependency needed.
It’s better to deactivate all your Community extensions prior to upgrading and re-activate them after upgrade is completed.
This example below is for 1 extension to be disabled. You have switch to “false” all the 3rd party extensions (without prefix “Mage_”)
<config>
<modules>
<Maurisource_InStock>
<codePool>local</codePool>
<active>false</active>
<depends>
<Mage_Catalog />
</depends>
</Maurisource_InStock>
</modules>
</config>
During upgrade you may encounter error: “Unknown cipher in list: TLSv1“
This was reported happening since Magento CE 1.9.2.1 on stackexchange
The solution we tested and found working too is by editing below file
line 377: downloader/lib/Mage/HTTP/Client/Curl.php
$this->curlOption(CURLOPT_SSL_CIPHER_LIST, 'TLSv1');
replace with
$this->curlOption(CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1);
Other problems on rare circumstances:
you may encounter an error with your base magento frontend template “Interface_Frontend_Base_Default” (Causing your product’s page missing “Add to Cart” button and breaking the “Checkout” page.)
If no core-hacks were made to that theme, (shouldn’t have been!) you can safely rename or erase the following folder:
rm -rf app/design/frontend/base
This probably happens because the BASE theme got corrupt somehow. So install Interface_Frontend_Base_Default again
./mage install http://connect20.magentocommerce.com/community Interface_Frontend_Base_Default –force