แนวทางการอัพเกรด opencart เวอร์ชั่น 2.2.0 เป็น 2.3.0.2

เขียนเมื่อ 6 ปีก่อน โดย Ninenik Narkdee
อัพเกรด opencart

คำสั่ง การ กำหนด รูปแบบ ตัวอย่าง เทคนิค ลูกเล่น การประยุกต์ การใช้งาน เกี่ยวกับ อัพเกรด opencart

ดูแล้ว 4,409 ครั้ง


เนื้อหาต่อไปนี้เป็นแนวทางสำหรับอัพเกรด opencart เวอร์ชั่น 2.2.0 ซึ่งเป็นเวอร์ชั่นเริ่มต้นในบทความเกี่ยวกับ
opencart ของเรา มาเป็นเวอร์ชั่นปัจจุบัน ณ วันที่เขียนบทความนี้เป็น 2.3.0.2
 
ก่อนอื่นให้เราทำการแบ็คอัพข้อมูลในฐานข้อมูลก่อน โดยสามารถเข้าไปจัดการผ่าน phpmyadmin หรือ
สามารถใช้ส่วนจัดการของ opencart ได้ดังนี้
 
ให้ไปในส่วนของ admin ไปที่เมนู ระบบ > เครื่องมือ > แบ็คอัพ และ การกู้คืน
จากนั้นเลือกตารางข้อมูลที่ต้องการแบ็คอัพ แล้วกดปุ่ม ส่งออก ดังรูป
 

 
 
เราก็จะได้ไฟล์แบ็คอัพในส่วนของข้อมูลในรูปแบบ sql ไฟล์ 
 
 
ต่อไปให้เราดาวน์โหลดไฟล์ทั้งหมดลงมาแบ็คอัพไว้ก่อน ตัวอย่างโฟลดอร์ไฟล์ข้อมูล ที่เราดาวน์โหลดลงมา
แบ็คอัพไว้ แสดงดังรูป
 
 
จำไว้เสมอว่าการอัพเกรดเวอร์ชั่นของ opencart นั้น ไฟล์เดิมที่เป็นไฟล์หลักของ opencart จะต้องไม่ถูกแก้ไข ดัดแปลง
ไปจากเดิม ไม่เช่นนั้นอาจจะเกิดข้อผิดพลาด หลังจากทำการอัพเกรดขึ้นได้
 
หลังจากเราแบ็คอัพข้อมูลในฐานข้อมูลและไฟล์โฟลเดอร์ต่างๆ เรียบร้อยแล้ว ให้เราไปทำการดาวน์โหลดเวอร์ชั่นใหม่
ของ opencart จากลิงค์ต่อไปนี้ 
 
 
เวอร์่นล่าสุดจะอยู่ด้านบน  ในที่นี่เราดาวน์โหลดเวอร์ชั่น 2.3.0.2
พอดาวน์โหลดเสร็จแล้วเราจะได้ไฟล์ zip ให้ทำการแตกไฟล์ โดยไฟล์ที่เราจะอัพโหลดขึ้น server เพื่ออัพเกรดเวอร์ชั่น
จะอยู่ในโฟลเดอร์ upload ดังรูป
 
 
วิธีการอัพเกรดนั่นสามารถทำได้ง่าย คือทำการอัพโหลดไฟล์และโฟลเดอร์ในโฟลเดอร์ upload ตามรูปด้านบน
ขึ้นไปทับไฟล์เก่าบน server 
แต่ยกเว้นไฟล์ config-dist.php 
และไฟล์ config-dist.php ในโฟลเดอร์ admin
ให้เราทำการลบทั้งสองไฟล์นี้ออกก่อน
 
ต่อไปก็อัพโหลดไฟล์ทั้งหมดที่เหลือไปทับได้เลย จะได้โครงสร้างไฟล์และโฟลเดอร์คร่าวๆ ดังรูป
 

 
 
สังเกตว่าจะมีโฟลเดอร์ install เพิ่มเข้า ต่อไปจะเป็นขั้นตอนของการอัพเกรด ให้เราเข้าไปทำการอัพเกรดผ่าน
url สมมติชื่อเว็บ example.com ก็ให้เข้าไปที่ www.example.com/install
 
ก็จะขึ้นหน้าอัพเกรดขึ้นมาในลักษณะดังนี้
 
 

 
 
ให้กดปุ่ม continue เพื่อทำการอัพเกรด 
ในตัวอย่างเป็นการทดสอบที่เครื่อง localhost ปรากฏว่าขึ้น error ดังรูป 
 

 
 
เพราะว่ามีการทำงานของคำสั่งเกิน 30 วินาทีซึ่งถูกกำหนดค่าไว้ใน php.ini ให้เราแก้ไขค่าเป็นค่าที่มากกว่านี้ก่อน
แล้วค่อยมีทำการอัพเกรดใหม่ (ถ้าเจอปัญหาในลักษณะนี้บน server ก็ให้แก้ไขในลักษณะเดียวกัน)
ในที่นี้เราแก้ไขไฟล์ php.ini กำหนดเปลี่ยนจาก 30 เป็น 120 วินาทีหรือประมาณ 2 นาที ดังรูป แล้ว รีสตาร์ด
server service ใหม่อีกครั้ง กรณีที่ใช้เป็น server จำลองบน localhost ดังรูป
 

 
 
เสร็จแล้วกลับไปทำการอัพเกรดยังหน้าเดิมใหม่อีกครั้ง 
 
 

 
 
รอสักครู่จนกระบวนการอัพเกรดสำเร็จเรียบร้อย จะได้เป็น
 

 
 
กดปุ่ม continue เพื่อเสร็จสิ้นการอัพเกรด
 
 
หากหลังจากเสร็จสิ้นการอัพเกรดแล้วขึ้น error ในลักษณะคล้ายดังรูปต่อไป 
 
 
 
ทั้งนี้เป็นเพราะ bug เราสามารถแก้ไขโดยทำตามตัวอย่างตามลิ้งค์นี้
 
 
ซึ่งเขาแนะนำวิธีแก้ปัญหามาให้ใน 2 แบบ รายละเอียดของปัญหาอ่านได้ที่ลิ้งค์ด้านบน
วิธีแก้ที่ 1 ลบโฟลเดอร์ตามรายชื่อด้านล่าง (ถ้าไม่แน่ใจ อาจเปลี่ยนชื่อโดยกำหนด _ไว้ด้านหน้าก็ได้)
วิธีแก้ไขตามวิธีที่ 1 นี้จะเป็นการละทิ้งหรือไม่สนใจความสามารถที่จะยังคงให้ใช้ร่วมกับเวอร์ชั่น 
2.2.x 
 
     catalog/model/total
     catalog/model/payment
     catalog/controller/payment
     catalog/model/shipping
     catalog/controller/module
     admin/controller/total
     admin/controller/payment
     admin/controller/shipping
     admin/controller/module
 
วิธีแก้ที่ 2 ให้ยังคงรองรับให้สามารถที่จะยังคงให้ใช้ร่วมกับเวอร์ชั่น 2.2.x ได้ โดยให้ทำการ
แก้ไขไฟล์
 
catalog > controller > event > compatibility.php
 
ค้นหาโค้ด 
 
'model/' . $route. '.php'
 
แล้วเปลี่ยนใหม่ โดยแทนที่เป็น
 
'model/' . ((strpos($route,'get') !== false) ? dirname($route) : $route) . '.php'
 
ในที่นี้เราจะใช้วิธีที่สอง  ทำการแก้ไข แล้วบันทึก จากนั้นทดสอบเข้าหน้าร้านค้าของเราดู
ควรกด ctrl+F5 เพื่อให้ทำการโหลด css หรือ js ไฟล์ไหม่ ป้องกันการ cache
 
หากไม่เกิดข้อผิดพลาดใดๆ หน้าร้านของเราก็จะแสดงปกติ
อย่าลืมลบโฟลเดอร์ install ออกหลังจากอัพเกรดแล้ว
 
 

การจัดการในส่วนของ admin หลังจากอัพเกรดเป็นเวอร์ชั่น 2.3.0.2

ให้เราทำการล็อกอินเข้าในส่วนของ admin 
เราจะพบว่าหน้า Dashboard ยังไม่มีการแสดงข้อมูลใดๆ รวมทั้งมีบางเมนูที่ขาดหายไป
ดังรูปด้านล่าง
 
 

 
วิธีแก้ไขให้เราเข้าไปที่เมนู 
 
System > Users > User Groups 
 
เข้าไปแก้ไขในส่วนของ administrator จะพบหน้าเพจดังรูป
ให้กดเลือก "เลือกทั้งหมด" ทั้งในส่วนของ
การอนุญาตเข้าถึง และ การอนุญาตแก้ไข 
จากนั้นกดบันทึก
 
 

 
 
เสร็จแล้วกด ctrl+F5 สองครั่งเพื่อรีเฟรสหรืออัพเดท css และ js ไฟล์ ป้องกันการแสดงข้อมูล cache
จากนั้นกลับไปหน้า dashboard ตอนนี้ข้อมูลหน้า dashboard แสดงข้อมูลแล้วรวมทั้งเมนูด้านซ้ายที่หายไป
ในตอนแรกก็กลับมาแล้วตามรูปด้านล่าง

 

 
 
เท่านี้การอัพเกรด opencart จากเวอร์ชั่น 2.2.0 ไปเวอร์ชั่น 2.3.0.2 ก็สำเร็จไปส่วนหนึ่งแล้ว
สิ่งที่เปลี่ยนไปที่เห็นได้ชัดก็คือ ส่วนของ Extensions ที่มีการนำมารวมกันเป็นหมวดหมู่ ลองเปรียบเทียบ
ส่วนของ Extensions ของเวอร์ชั่น 2.2.0 กับ 2.3.0.2
 
opencart เวอร์ชั่น 2.2.0 
 

 
 
opencart เวอร์ชั่น 2.3.0.2
 

 
 
หลังจากอัพเกรด เราจะเห็นว่าชุดภาษาไทยยังแสดงไม่สมบูรณ์สำหรับ opencart 2.3.0.2 
ดังในตัวอย่างหน้า admin เมนูฝั่งซ้ายยังเป็นภาษาอังกฤษ ในขณะที่ส่วนของเนื้อหาในฝั่งขวา
เป็นภาษาไทยแล้ว ส่วนนี้ เราจะมาแนะนำวิธีแก้ไขในบทความหน้า
 


กด Like หรือ Share เป็นกำลังใจ ให้มีบทความใหม่ๆ เรื่อยๆ น่ะครับ



อ่านต่อที่บทความ













URL สำหรับอ้างอิง





คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
  • เปลี่ยน


    ( หรือ เข้าใช้งานผ่าน Social Login )







เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ