Magento 1.9.2.4 to 1.9.3.4 升級教學

You are here:
< All Topics

Magento 升級可以透過三種方式

1. Magento Connect(比較容易有問題,難度較高)

2. Command Line(成功率高,缺點是速度不快)

3. 直接覆蓋新版檔案(只能做小版本升級,優點是速度快,網站停機時間短)

因為不想讓網站下線太久,所以一樣使用覆蓋檔案法來進行升級

升級前須知

如果有針對 Core files 直接客製化的檔案,覆蓋過後將還原成未修改的版本

我們目前僅修改了

1. Magento API Integration Calling Parameter Do Not Match Signature

2. 移除購物車中的『預估運費及稅金』

3. 使用 Magento Connect 更新時出現錯誤訊息:Unknown cipher in list: TLSv1

4. 隱藏 Bundle Products(產品組合)主產品下方的數量框

5. 修改地址排列格式:

修改地址排列格式(Address Layout) – 上

修改地址排列格式(Address Layout) – 下

使用 TextWrangler 比較檔案後

downloader/lib/Mage/HTTP/Client/Curl.php 於 使用 Magento Connect 更新時出現錯誤訊息:Unknown cipher in list: TLSv1 修正的段落有改變,需要進行測試才知道是否不在需要修正這個問題

app/design/frontend/base/default/template/checkout/onepage/shipping.phtml 除了版權宣告外,檔案多了一行

vim /usr/share/nginx/html/app/design/frontend/base/default/template/checkout/onepage/shipping.phtml

Line 144 多了一行

 <?php echo $this->getBlockHtml('formkey') ?>

app/design/frontend/base/default/template/persistent/checkout/onepage/billing.phtml 除了版權宣告外,檔案多了一行

vim /usr/share/nginx/html/app/design/frontend/base/default/template/persistent/checkout/onepage/billing.phtml

Line 202 多了一行

 <?php echo $this->getBlockHtml('formkey') ?>

而剩餘的檔案內容並沒有修改,只修正版權聲明,可以直接套用修改過的檔案

複製舊檔案(包含修改過的檔案),升級完成後再覆蓋回去

mkdir -p /home/cewolf/magento_upgrade_backup
cp /usr/share/nginx/html/lib/Zend/XmlRpc/Server.php /usr/share/nginx/html/app/design/frontend/base/default/layout/checkout.xml /usr/share/nginx/html/app/design/frontend/base/default/template/customer/address/edit.phtml /usr/share/nginx/html/app/design/frontend/base/default/template/persistent/checkout/onepage/billing.phtml /usr/share/nginx/html/app/design/frontend/base/default/template/checkout/onepage/shipping.phtml /home/cewolf/magento_upgrade_backup

升級 Magento

備份現有檔案與資料庫

參照 Magento 備份、複製到測試環境的流程

su
cd /usr/share/nginx/
mysqldump -u root -p magento > magento_$(date +%Y-%m-%d).sql
tar zcf magento_$(date +%Y-%m-%d).tar.gz html --exclude html/var/cache --exclude html/var/session --exclude html/var/log
傳檔至伺服器
scp magento-1.9.3.4-2017-07-12-04-02-26.zip cewolf@192.168.1.236:~
解壓縮、覆蓋升級
cd /home/cewolf
unzip magento-1.9.3.4-2017-07-12-04-02-26.zip
cd magento
/bin/cp -rf ./* /usr/share/nginx/html/
覆蓋修改後的檔案
/bin/cp -f /home/cewolf/magento_upgrade_backup/Server.php /usr/share/nginx/html/lib/Zend/XmlRpc/Server.php ; /bin/cp -f /home/cewolf/magento_upgrade_backup/checkout.xml /usr/share/nginx/html/app/design/frontend/base/default/layout/checkout.xml ; /bin/cp -f /home/cewolf/magento_upgrade_backup/edit.phtml /usr/share/nginx/html/app/design/frontend/base/default/template/customer/address/edit.phtml ; /bin/cp -f /home/cewolf/magento_upgrade_backup/billing.phtml /usr/share/nginx/html/app/design/frontend/base/default/template/persistent/checkout/onepage/billing.phtml ; /bin/cp -f /home/cewolf/magento_upgrade_backup/shipping.phtml /usr/share/nginx/html/app/design/frontend/base/default/template/checkout/onepage/shipping.phtml
刪除不需要的檔案
rm -f /usr/share/nginx/html/skin/adminhtml/default/default/media/flex.swf /usr/share/nginx/html/skin/adminhtml/default/default/media/uploader.swf /usr/share/nginx/html/skin/adminhtml/default/default/media/uploaderSingle.swf
修改檔案擁有者
chown -R nginx: /usr/share/nginx/html

刷新『OPCache』與『快取』就升級至 1.9.3.4 了

https://www.gapl.com.tw/resetopc.php

https://www.gapl.com.tw/nocache.php

升級過程對整個網站影響時間應該不到一分鐘喔!

額外注意事項

升級完後發現這兩個檔案如果加入 Formkey Validation 後會無法 redirect 至玉山信用卡刷卡頁面

app/design/frontend/base/default/template/persistent/checkout/onepage/billing.phtml

app/design/frontend/base/default/template/checkout/onepage/shipping.phtml

目前只能先移除  <?php echo $this->getBlockHtml(‘formkey’) ?>

Previous Magento 1.9.2.1 to 1.9.2.4 升級教學
Next Magento 1.9.3.10 to 1.9.4.0 升級教學
Table of Contents