วิธีการเปลี่ยน PHP เวอร์ชั่นด้วย amazon-linux-extras

ในบทความนี้ผมจะอธิบายการเปลี่ยนเวอร์ชั่น PHP ด้วย amazon-linux-extras ซึ่งในตัวอย่างผมทำการ downgrade จาก PHP 8.0 เป็น PHP 7.4 ครับ และคุณสามารถใช้วิธีการนี้ได้กับการ upgrades ด้วยเช่นกัน
2022.04.27

หลายๆท่านอาจจะเคยพบปัญหากับการเปลี่ยนแปลงเวอร์ชั่น PHP ให้กับลูกค้าเนื่องจากถ้าทางลูกค้าไม่ได้มีการบอกรายละเอียดเวอร์ชั่นที่แน่นอน เราก็จะทำการติดตั้ง PHP เวอร์ชั่นล่าสุดเป็นมาตรฐานในการเซ็ตระบบ แต่หากลูกค้าของเรามีการรีเควสขอเปลี่ยนแปลงเวอร์ชั่น PHP ด้วยเหตุผลที่ต้องการให้ software หรือ code ที่ใช้งานอยู่สามารถใช้งานต่อไปได้และเสถียรที่สุด เราจะทำอย่างไร ? ในบทความนี้มีคำตอบครับผม

ก่อนที่เราจะทำตัวอย่างในขั้นตอนนี้เราจำเป็นต้องมีการตั้งค่า EC2 ก่อนนะครับโดยสามารถดูได้จากลิ้งค์ด้านล่างนี้ได้เลยครับ

วิธี Install PHP 8.0 and Apache ใน Amazon Linux 2 ของ EC2

How to ?

หยุดการทำงาน PHP

เริ่มต้นให้เราทำการหยุดการใช้งาน PHP เวอร์ชั่นปัจจุบันก่อนโดยใช้คำสั่ง

amazon-linux-extras disable php8.0

เมื่อรันคำสั่งเสร็จแล้วก็ระบบจะแสดงข้อมูลดังนี้เป็นการบ่งบอกว่าเราหยุดการใช้งาน PHP เรียบร้อยแล้ว

ถอนการติดตั้ง PHP

จากนั้นให้เราทำการถอนการติดตั้ง PHP เวอร์ชั่นเก่าออกจากเซิร์ฟเวอร์ก่อนด้วยคำสั่ง

yum remove php-common

เมื่อรันคำสั่งเสร็จระบบให้เรายืนยันว่าจะดำเนินการต่อหรือไม่ โดยมี 2 คำตอบคือ Yes/No

  • ถ้าเราพิม y ก็จะเป็นการตอบ yes ให้ระบบดำเนินการถอนการติดตั้ง
  • ถ้าเราตอบ n ระบบก็จะหยุดและกลับไปหน้าเริ่มต้น
  • ซึ่งในที่นี้ผมจะพิม y เพื่อดำเนินการต่อนะครับ เมื่อถอนการติดตั้งเสร็จจะแสดงรูปภาพดังนี้

    ติดตั้ง PHP เวอร์ชั่นที่ต้องการ

    จากนั้นให้พิมคำสั่ง

    amazon-linux-extras install php7.4
    

    เพื่อทำการติดตั้ง PHP เวอร์ชั่นที่เราต้องการ ในตัวอย่างผมจะใช้งาน PHP 7.4 นะครับ เมื่อเรารันคำสั่งไปแล้วระบบจะทำการยืนยันการทำงานเหมือนก่อนหน้านี้ ก็ให้เราพิม y และ enter ได้เลยครับ ระบบก็จะทำการติดตั้ง PHP ให้ และเมื่อระบบติดตั้ง PHP เสร็จสมบูรณ์แล้วให้เราพิมคำสั่ง

    php -v
    

    เพื่อตรวจสอบว่าตอนนี้เซิร์ฟเวอร์ของเราเปลี่ยนเป็นเวอร์ชั่น 7.4 แล้วหรือไม่

    restart HTTPD

    เมื่อติดตั้ง PHP เวอร์ชั่นที่เราต้องการเรียบร้อยแล้วให้เราพิมคำสั่ง

    systemctl restart httpd
    

    เพื่อทำการ restart httpd เพราะถ้าเราไม่รันคำสั่งนี้ถึงแม้ว่าตัวเซิร์ฟเวอร์เราจะติดตั้ง PHP เวอร์ชั่น 7.4 แล้วก็จริงแต่ตัวเว็บไซต์ของเราจะยังคงใช้งาน PHP เวอร์ชั่นเดิมก่อนหน้านี้ที่เราติดตั้งไปไม่ได้ใช้งานเวอร์ชั่นปัจจุบันที่เราทำการติดตั้งครับ

    สรุป

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

    บทความที่เกี่ยวข้อง

  • How do I install a software package from the Extras Library on an EC2 instance running Amazon Linux 2?
  • วิธี Install PHP 8.0 and Apache ใน Amazon Linux 2 ของ EC2
  • ดูรายละเอียดเพิ่มเติมได้ที่นี่ สอบถามเพิ่มเติมเกี่ยวกับ AWS คลิกที่นี่