อัปเกรด PHP เว็บไซต์แบรนด์เอง: ตรวจสอบความเข้ากันได้ ติดตั้งส่วนขยาย และเพิ่มประสิทธิภาพ

การอัปเกรด PHP เป็นวิธีที่คุ้มค่าที่สุดวิธีหนึ่งในการเพิ่มประสิทธิภาพเว็บไซต์แบรนด์เอง จาก PHP 7.4 ขึ้นเป็น 8.2 โค้ดเดิมทำงานเร็วขึ้นราว 2 เท่า โดยไม่ต้องแก้ไขลอจิกธุรกิจใดๆ แต่ก่อนอัปเกรดต้องทำส...

PHP升级:先查兼容,再升版本PHP upgrade: check compatibility first, then bump version PHP 8.2比7.4快约2倍,但插件不兼容直接白屏PHP 8.2 ~2x faster than 7.4, but incompatible plugins = white screen ① 备份① Backup 全站+数据库Full site+DB ② 兼容检查② Compat check 插件+主题Plugins+theme ③ staging测③ Staging test 全功能走一遍Test all flows ④ 生产升④ Prod upgrade 低峰期+回滚方案Off-peak+rollback 推荐版本:PHP 8.1或8.2(安全支持到2025至2026年)Recommended: PHP 8.1 or 8.2 (security support to 2025-2026) 不要用7.4以下——已停止安全更新,2022年起无补丁Avoid <7.4 — security updates ended, no patches since 2022 必装扩展:OPcache(性能翻倍)+ mysqli + intl + gdMust-install: OPcache (2x perf) + mysqli + intl + gd OPcache开启后PHP执行时间降50%以上,内存建议256MB以上OPcache cuts PHP time 50%+; set memory to 256MB+ 反直觉:PHP版本越新越快,但不是每个插件都跟得上Counter-intuitive: newer is faster, but not all plugins keep up 一个不兼容的老插件就能让整个站白屏,升级前必须逐个测One incompatible legacy plugin = white screen; test every plugin 升级顺序:先升级所有插件到最新版,再升PHP版本Order: update all plugins first, then bump PHP version 不要跳级升级:7.4→8.0→8.1→8.2逐版升,每版测一遍Stepwise: 7.4→8.0→8.1→8.2, test each step
ขั้นตอนอัปเกรด PHP 4 ขั้นตอน: สำรองข้อมูล ตรวจสอบความเข้ากันได้ ทดสอบบน staging และอัปเกรดบนโปรดักชัน

อัปเกรด PHP เว็บไซต์แบรนด์เอง: ตรวจสอบความเข้ากันได้ ติดตั้งส่วนขยาย และเพิ่มประสิทธิภาพ

สรุปก่อน: การอัปเกรด PHP เป็นวิธีที่คุ้มค่าที่สุดวิธีหนึ่งในการเพิ่มประสิทธิภาพเว็บไซต์แบรนด์เอง จาก PHP 7.4 ขึ้นเป็น 8.2 โค้ดเดิมทำงานเร็วขึ้นราว 2 เท่า โดยไม่ต้องแก้ไขลอจิกธุรกิจใดๆ แต่ก่อนอัปเกรดต้องทำสามอย่าง: สำรองทั้งเว็บไซต์และฐานข้อมูล ตรวจสอบความเข้ากันได้ของปลั๊กอินและธีมทีละตัว และทดสอบทุกฟังก์ชันบน staging แนะนำให้ใช้ PHP 8.1 หรือ 8.2 ไม่ควรใช้เวอร์ชันต่ำกว่า 7.4 (หยุดอัปเดตความปลอดภัยแล้ว) ส่วนขยายที่ต้องติดตั้งคือ OPcache เปิดแล้วลดเวลาเรียกใช้ PHP ได้มากกว่า 50% ข้อสังเกตที่ขัดกับสัญชาตญาณ: ปลั๊กอินเก่าที่เข้ากันไม่ได้เพียงตัวเดียวก็ทำให้ทั้งเว็บจอขาวได้ ต้องทดสอบทีละตัวก่อนอัปเกรด จะดูแค่คำเตือนความเข้ากันได้ในหลังบ้าน WordPress ไม่ได้

1. ทำไมเวอร์ชัน PHP ถึงส่งผลต่อประสิทธิภาพเว็บไซต์แบรนด์เอง

WordPress เขียนด้วย PHP ทุกคำขอหน้าเว็บต้องรันตัวแปล PHP ก่อน เพื่อแปลงโค้ดเป็นคำสั่งที่เครื่องเข้าใจ ยิ่งเวอร์ชัน PHP ใหม่ ยิ่งแปลเร็ว PHP 8.x ได้รับการปรับแต่งระดับล่างจำนวนมากเมื่อเทียบกับ 7.4 ทั้งการปรับปรุง OPcache การคอมไพล์ JIT และการจัดการหน่วยความจำ โค้ดเดิมบน 8.2 จึงทำงานเร็วกว่า 7.4 ราว 2 เท่า

ประสิทธิภาพที่เพิ่มขึ้นนี้รู้สึกได้ทันทีกับเว็บไซต์แบรนด์เอง เว็บที่มี LCP 3.5 วินาทีบน PHP 7.4 เมื่ออัปเกรดเป็น 8.2 และเปิด OPcache แล้ว LCP จะลดลงเหลือราว 2 วินาที Core Web Vitals เปลี่ยนจากแดงเป็นเขียวทันที ไม่ต้องแก้ธีม ไม่ต้องเปลี่ยนปลั๊กอิน ไม่ต้องเพิ่มแคช แค่เปลี่ยนเวอร์ชัน PHP ก็ได้ผลแบบนี้ นี่คือเหตุผลที่ทีมดูแลระบบแนะนำให้อัปเกรด PHP อย่างน้อยทุกสองปี

เวอร์ชัน PHP วันที่เปิดตัว สิ้นสุดการสนับสนุนด้านความปลอดภัย ประสิทธิภาพเทียบกับ 7.4 คำแนะนำสำหรับเว็บไซต์แบรนด์เอง
PHP 5.6 และต่ำกว่า ก่อนปี 2014 หยุดไปนานแล้ว ต่ำกว่าค่ามาตรฐาน ห้ามใช้เด็ดขาด
PHP 7.0 ถึง 7.3 2015 ถึง 2018 หยุดแล้ว ราว 0.8 เท่า อัปเกรดโดยเร็ว
PHP 7.4 ปี 2019 หยุดปี 2022 มาตรฐาน 1.0 เวอร์ชันเปลี่ยนผ่าน รีบอัปเกรด
PHP 8.0 ปี 2020 หยุดปี 2023 ราว 1.5 เท่า ใช้ได้แต่ไม่แนะนำให้ใช้ระยะยาว
PHP 8.1 ปี 2021 ปลายปี 2025 ราว 1.8 เท่า แนะนำ เสถียร
PHP 8.2 ปี 2022 ปลายปี 2026 ราว 2.0 เท่า แนะนำ เป็นเวอร์ชันเสถียรล่าสุด

很多独立站还跑在PHP 7.4甚至7.3上,原因是”一直跑得好好的,不敢动”。但7.4从2022年11月起就没有安全补丁了,这意味着发现新漏洞也没人修。对出海站来说,跑在无安全更新的PHP版本上,被黑的风险随时间递增。网站被黑后的清理流程见 การจัดการหลังเว็บไซต์ถูกแฮ็ก ส่วนการเสริมความปลอดภัยและการสำรองข้อมูลดูที่การสำรองและกู้คืนเว็บไซต์。

สอง การตรวจสอบความเข้ากันได้: สามสิ่งที่ต้องทำก่อนอัปเกรด

ความเสี่ยงที่ใหญ่ที่สุดของการอัปเกรด PHP ไม่ใช่เรื่องประสิทธิภาพ แต่คือความเข้ากันได้ PHP 8.x มีการเปลี่ยนแปลงเชิงทำลายในไวยากรณ์ เช่น ยกเลิกฟังก์ชันเก่าบางตัว เปลี่ยนความเข้มงวดของชนิดข้อมูล และพฤติกรรมเดิมบางอย่างเปลี่ยนไป ถ้าธีมหรือปลั๊กอินของคุณใช้รูปแบบที่ถูกยกเลิกเหล่านี้ หลังอัปเกรดเว็บไซต์จะจอขาวทันที แม้แต่หลังบ้านก็เข้าไม่ได้

ก่อนอัปเกรดต้องทำสามอย่าง หนึ่ง อัปเดตปลั๊กอินและธีมทั้งหมดเป็นเวอร์ชันล่าสุด เพราะเวอร์ชันเก่ามักไม่เข้ากันกับ PHP ใหม่ ส่วนเวอร์ชันใหม่มักแก้ไขแล้ว สอง ใช้ปลั๊กอินอย่าง PHP Compatibility Checker สแกนโค้ดทั้งเว็บไซต์ ดูว่าไฟล์ไหนใช้รูปแบบที่ไม่เข้ากัน สาม สลับเวอร์ชัน PHP ในสภาพแวดล้อม staging แล้วทดสอบฟังก์ชันหลักทั้งหมด

รายการตรวจสอบ วิธีตรวจสอบ เกณฑ์ผ่าน ไม่ผ่านการจัดการ
ความเข้ากันได้ของปลั๊กอิน สแกนด้วย PHP Compatibility Checker ปลั๊กอินทั้งหมดไม่มีข้อผิดพลาดร้ายแรง หาปลั๊กอินทดแทนหรือติดต่อผู้พัฒนา
ความเข้ากันได้ของธีม เหมือนข้างต้น สแกนโฟลเดอร์ธีม ธีมไม่มีการเรียกใช้ฟังก์ชันที่ถูกยกเลิก เปลี่ยนธีมหรือรอผู้พัฒนาอัปเดต
เวอร์ชัน WordPress หลัก ดูเวอร์ชัน WP ในหลังบ้าน WP 6.0 ขึ้นไปเท่านั้นที่รองรับ PHP 8.2 อัปเกรด WP หลักก่อน
ส่วนขยายฐานข้อมูล ดูใน phpinfo ว่า mysqli มีอยู่หรือไม่ mysqli เปิดใช้งานแล้ว ติดตั้งส่วนขยาย mysqli
โค้ดที่เขียนเอง สแกนธีมลูกและปลั๊กอินที่เขียนเอง ไม่มีฟังก์ชันที่ถูกยกเลิก แก้โค้ดด้วยตนเอง

场景示例:一个B2B站用了一个2019年的老表单插件,这个插件在PHP 8.1上会报错。升级前用Compatibility Checker一扫描,发现这个插件用了mysql_*系列函数(PHP 7.0就废弃了)。这时候不要硬升PHP版本,先找一个替代表单插件(如WPForms或Fluent Forms),把表单迁移过去,再升PHP。环形山在出海站上对插件兼容性的处理见 环形山技术栈与四个自研插件。

ข้อสังเกตที่ขัดกับสัญชาตญาณ: คำเตือนความเข้ากันได้ของ PHP ที่แสดงใน “สุขภาพไซต์” ของหลังบ้าน WordPress มักไม่แม่นยำ เพราะมันตรวจสอบเฉพาะเวอร์ชันปลั๊กอินที่ติดตั้งอยู่ในปัจจุบัน ถ้าปลั๊กอินตัวไหนคุณติดตั้งเวอร์ชันล่าสุดแต่ผู้พัฒนาไม่ได้อัปเดตการทดสอบความเข้ากันได้ หลังบ้านก็ยังแจ้งว่าเข้ากันได้ วิธีที่ถูกต้องคือใช้เครื่องมือสแกนรันเอง แล้วทดสอบจริงในสภาพแวดล้อม staging อีกครั้ง อย่าเชื่อคำเตือนในหลังบ้านเพียงอย่างเดียว

สาม การเลือกเวอร์ชัน PHP: 8.1 หรือ 8.2

จะอัปเกรดเป็นเวอร์ชันไหน ต้องดูสองปัจจัย คือ การสนับสนุนด้านความปลอดภัยเหลืออีกนานแค่ไหน และความเข้ากันได้ของระบบนิเวศปลั๊กอินของคุณ PHP 8.1 ได้รับการสนับสนุนด้านความปลอดภัยถึงสิ้นปี 2025 ส่วน PHP 8.2 ถึงสิ้นปี 2026 สำหรับเว็บไซต์อิสระส่วนใหญ่ 8.2 เป็นตัวเลือกที่มั่นคงกว่า เพราะประสิทธิภาพดีที่สุดและได้รับการสนับสนุนด้านความปลอดภัยนานที่สุด แต่ถ้าปลั๊กอินสำคัญตัวใดตัวหนึ่งของคุณระบุชัดว่ารองรับถึงแค่ 8.1 ก็ให้อัปเกรดเป็น 8.1 ก่อน รอปลั๊กอินอัปเดตแล้วค่อยอัปเกรดเป็น 8.2

อย่าข้ามเวอร์ชันอัปเกรด จาก 7.4 กระโดดไป 8.2 เลยข้ามไปสองเวอร์ชันใหญ่ ฟังก์ชันที่เลิกใช้และการเปลี่ยนแปลงไวยากรณ์สะสมกัน โอกาสเกิดปัญหาสูงกว่าการอัปทีละเวอร์ชันมาก เส้นทางที่ถูกต้องคือ 7.4→8.0→8.1→8.2 อัปทีละเวอร์ชันแล้วทดสอบบน staging ให้แน่ใจว่าไม่มีปัญหาก่อนอัปเวอร์ชันถัดไป

สถานการณ์ เวอร์ชันที่แนะนำ เหตุผล ข้อควรระวัง
เว็บใหม่เพิ่งสร้าง PHP 8.2 เวอร์ชันเสถียรล่าสุด ประสิทธิภาพดีที่สุด ตรวจสอบว่าปลั๊กอินทั้งหมดรองรับ 8.2
เว็บเก่ารันบน 7.4 อัป 8.1 ก่อน แล้วค่อย 8.2 อัปทีละเวอร์ชัน ลดความเสี่ยง ทดสอบบน staging ทุกเวอร์ชัน
ระบบนิเวศปลั๊กอินเก่า PHP 8.0 หรือ 8.1 เข้ากันได้ดีกว่า รอปลั๊กอินอัปเดตก่อนแล้วค่อยอัป
เว็บอีคอมเมิร์ซ PHP 8.1 ระบบนิเวศสมบูรณ์ที่สุด 8.2 ปลั๊กอินรับชำระเงินบางตัวยังไม่รองรับ
เว็บบล็อกล้วน PHP 8.2 ปลั๊กอินน้อย เข้ากันได้ดี อัปเป็น 8.2 ได้เลย

ตัวอย่างสถานการณ์: เว็บคอนเทนต์ที่มีปลั๊กอินแค่ 5 ตัว (Yoast, WP Rocket, WPForms, UpdraftPlus, Wordfence) ปลั๊กอินหลักเหล่านี้รองรับ PHP 8.2 ทั้งหมด กรณีนี้ให้อัปเป็น 8.2 บน staging แล้วทดสอบ ถ้าไม่มีปัญหาก็ขึ้นโปรดักชันได้เลย แต่ถ้าเป็นเว็บที่ใช้ WooCommerce บวกปลั๊กอินอีคอมเมิร์ซอีกสิบกว่าตัว แนะนำให้หยุดที่ 8.1 ก่อน เพราะตอน 8.2 ออกใหม่ๆ ปลั๊กอินรับชำระเงินและขนส่งหลายตัวยังไม่รองรับ

สี่、การติดตั้งส่วนขยาย: OPcache และส่วนขยายที่จำเป็น

อัปเวอร์ชัน PHP แล้วแต่ไม่ได้ติดตั้ง OPcache จะได้ประโยชน์ด้านประสิทธิภาพแค่ครึ่งเดียว OPcache เก็บ bytecode ที่ PHP คอมไพล์แล้วไว้ในหน่วยความจำ ครั้งต่อไปที่เรียกโค้ดเดิมก็อ่านจากหน่วยความจำได้เลย ไม่ต้องคอมไพล์ใหม่ หลังเปิด OPcache เวลาทำงานของ PHP ลดลงได้มากกว่า 50% ซึ่งมากกว่าการอัปจาก 7.4 เป็น 8.0 เสียอีก

นอกจาก OPcache แล้ว เว็บอิสระยังต้องมีส่วนขยายพื้นฐานอีกหลายตัว: mysqli (เชื่อมต่อฐานข้อมูล WordPress จำเป็นต้องใช้), gd หรือ imagick (ประมวลผลรูปภาพ คลังสื่อต้องใช้), intl (หลายภาษาและการแปลเป็นท้องถิ่น), mbstring (จัดการสตริงหลายไบต์ เว็บภาษาจีนต้องใช้) ส่วนขยายเหล่านี้โฮสต์ส่วนใหญ่ติดตั้งมาให้แล้ว แต่บนโฮสต์แบบแชร์อาจต้องเปิดเอง

ส่วนขยาย หน้าที่ จำเป็นหรือไม่ คำแนะนำการตั้งค่า
OPcache แคช bytecode ของ PHP จำเป็น ประสิทธิภาพเพิ่มเป็นสองเท่า memory=256MB, revalidate_freq=60
mysqli เชื่อมต่อฐานข้อมูล MySQL จำเป็น WP core ต้องใช้ ค่าเริ่มต้นได้เลย
gd/imagick ประมวลผลรูปภาพ คลังสื่อจำเป็นต้องใช้ imagick เร็วกว่า gd
intl การแปลเป็นท้องถิ่นและหลายภาษา เว็บหลายภาษาจำเป็น ค่าเริ่มต้นได้เลย
mbstring สตริงหลายไบต์ เว็บภาษาจีนจำเป็นต้องใช้ ค่าเริ่มต้นได้เลย
curl คำขอ HTTP ภายนอก จำเป็น REST API ต้องใช้ ค่าเริ่มต้นได้เลย
xml การแยกวิเคราะห์ XML จำเป็น RSS และ sitemap ค่าเริ่มต้นได้เลย

จุดสำคัญในการตั้งค่า OPcache: ตั้ง opcache.memory_consumption เป็น 256 (MB) ตั้ง opcache.revalidate_freq เป็น 60 (วินาที) หมายความว่าหลังโค้ดเปลี่ยน 60 วินาทีจะตรวจสอบใหม่หนึ่งครั้ง ถ้าเป็นสภาพแวดล้อมสำหรับพัฒนา ตั้ง revalidate_freq เป็น 0 คอมไพล์ใหม่ทุกคำขอ ส่วนโปรดักชันตั้ง 60 วินาที เพื่อสมดุลระหว่างประสิทธิภาพและความทันสมัยของการอัปเดต ส่วน memory_limit ของ PHP แนะนำตั้งไว้ที่ 256M ขึ้นไป เว็บที่ติดตั้งปลั๊กอินเยอะตั้ง 512M

OPcache กับ page cache เป็นคนละชั้น อย่าเอามาปนกัน page cache เซฟ HTML เป็นไฟล์ ส่วน OPcache เก็บ PHP bytecode ไว้ในหน่วยความจำ ต้องใช้ทั้งสองชั้นร่วมกันถึงจะกด LCP ให้ต่ำสุดได้ ดูการตั้งค่าแยกชั้นแคชได้ที่กลยุทธ์แคช 3 ชั้นสำหรับเว็บไซต์แบรนด์ ส่วนเกณฑ์วัดประสิทธิภาพที่ต้องผ่านดูได้ที่การปรับแต่ง Core Web Vitals。

ห้า ขั้นตอนอัปเกรดและแผนย้อนกลับ

การอัปเกรด PHP บนเซิร์ฟเวอร์จริงต้องเลือกช่วงคนเข้าน้อย (ตี 2 ถึงตี 4 ตามเวลาไทย) และเตรียมแผนย้อนกลับไว้ล่วงหน้า ถ้าระหว่างอัปเกรดมีปัญหา ต้องสลับกลับเวอร์ชันเดิมได้ภายใน 5 นาที ห้ามอัปเกรดตอนกลางวัน เพราะถ้าพลาดจะกระทบคนเข้าเว็บและออร์เดอร์ที่เข้ามา

ขั้นตอน การดำเนินการ เวลา วิธีย้อนกลับ
1. สำรองข้อมูลทั้งเว็บ สำรองไฟล์และฐานข้อมูลแบบเต็ม 10 ถึง 30 นาที เก็บไฟล์สำรองไว้อย่างน้อย 7 วัน
2. เลือกช่วงคนเข้าน้อย ตี 2 ถึงตี 4 ตามเวลาไทย —— ดูจาก access log เพื่อยืนยัน
3. สลับเวอร์ชัน PHP สลับผ่านแผงควบคุมโฮสต์หรือ SSH 1 ถึง 5 นาที สลับกลับเวอร์ชันเดิมได้ในคลิกเดียว
4. ทดสอบเส้นทางหลัก หน้าแรก หน้าสินค้า การส่งฟอร์ม 10 นาที ถ้าจอขาวให้สลับกลับเวอร์ชันเดิมทันที
5. เฝ้าดู 30 นาที ดู error log และปริมาณคนเข้า 30 นาที เจอ error ให้ย้อนกลับทันที
6. ล้าง OPcache รีสตาร์ท PHP-FPM หรือเว็บเซิร์ฟเวอร์ 1 นาที ——

ตัวอย่างสถานการณ์จริง: คุณสลับ PHP จาก 7.4 เป็น 8.1 ในแผงควบคุมอย่าง BaoTa หรือ cPanel แล้วรีเฟรชหน้าแรกเจอจอขาว อย่าตกใจ สิ่งแรกที่ต้องทำคือสลับกลับไป 7.4 แผงควบคุมโฮสต์ส่วนใหญ่สลับเวอร์ชัน PHP แค่คลิกเดียว 10 วินาทีก็กลับแล้ว จากนั้นดู error log ว่า plugin ตัวไหนแจ้ง error แก้ให้เรียบร้อยแล้วค่อยลองใหม่ อย่าลองซ้ำๆ ตอนจอขาว เพราะคนเข้าเว็บจะเจอหน้า error ค้างอยู่

หลังอัปเกรดต้องเฝ้าดูหนึ่งสัปดาห์ ดูสองตัวชี้วัด: ใน error log มี PHP Fatal Error โผล่มาไหม และคะแนน Lighthouse ดีขึ้นไหม ถ้า error log สะอาด และ LCP ลดจาก 3.5 วินาทีเหลือไม่เกิน 2 วินาที แปลว่าอัปเกรดสำเร็จ ถ้ามี PHP warning ใหม่โผล่มา ให้ดูก่อนว่าเป็น deprecated จาก plugin ตัวไหน พวกนี้ไม่กระทบการทำงานแต่ต้องจดไว้ แล้วจัดการตอนอัปเดต plugin ครั้งถัดไป ในการดูแลประจำวัน การเช็กเวอร์ชัน PHP เป็นรายการที่ต้องทำทุกครั้ง ดูได้ที่งาน 6 อย่างที่ต้องทำทุกเดือนในช่วงดูแลเว็บไซต์ ส่วนการมอนิเตอร์และแจ้งเตือนดูได้ที่การมอนิเตอร์และแจ้งเตือนเว็บไซต์。

FAQ คำถามที่พบบ่อย

เว็บไซต์แบรนด์บน WordPress ควรใช้ PHP เวอร์ชันไหน?
แนะนำ PHP 8.1 หรือ 8.2 เพราะ PHP 7.4 ตั้งแต่เดือนพฤศจิกายน 2022 ไม่มีแพตช์ความปลอดภัยแล้ว รันอยู่บนนั้นเท่ากับเปลือย 8.1 ได้รับการซัพพอร์ตด้านความปลอดภัยถึงสิ้นปี 2025 ส่วน 8.2 ถึงสิ้นปี 2026 และเร็วกว่า 7.4 ประมาณ 2 เท่า ถ้า plugin ที่ใช้ยังเก่าและไม่แน่ใจเรื่องความเข้ากันได้ ให้หยุดที่ 8.1 ก่อน ถ้า plugin ที่ใช้เป็นตัวหลักและรองรับ 8.2 อยู่แล้ว ก็ขยับไป 8.2 ได้เลย ห้ามใช้เวอร์ชันต่ำกว่า 7.0 ไม่ว่ากรณีใด
อัปเกรด PHP แล้วเว็บจอขาว ทำยังไงดี?
ไม่ต้องตกใจ ให้สลับกลับไปใช้ PHP เวอร์ชันเก่าทันที ส่วนใหญ่ในแผงควบคุมโฮสติ้งแค่คลิกเดียวก็สลับได้ ใช้เวลา 10 วินาทีก็กลับมาแล้ว จากนั้นดู error log ว่ามีไฟล์ไหนบรรทัดไหนที่แจ้งข้อผิดพลาด สาเหตุที่พบบ่อยคือปลั๊กอินเก่าตัวใดตัวหนึ่งเรียกใช้ฟังก์ชันที่ถูกยกเลิกไปแล้วใน PHP 8.x วิธีแก้คือหาปลั๊กอินตัวอื่นแทนหรือติดต่อผู้พัฒนาให้อัปเดต พอแก้ปัญหาความเข้ากันได้เรียบร้อยแล้วค่อยอัปเกรดใหม่ อย่าลองซ้ำไปซ้ำมาในสภาพหน้าจอขาว
OPcache คืออะไร จำเป็นต้องเปิดไหม
OPcache เก็บ bytecode ที่ PHP คอมไพล์แล้วไว้ในหน่วยความจำ ครั้งต่อไปที่โค้ดเดิมถูกเรียกก็อ่านจากหน่วยความจำได้เลย ไม่ต้องคอมไพล์ใหม่ หลังเปิดใช้งาน เวลาทำงานของ PHP ลดลงกว่า 50% ผลตอบแทนด้านประสิทธิภาพมากกว่าการอัปเกรดจาก 7.4 เป็น 8.0 เสียอีก สภาพแวดล้อมโปรดักชันจำเป็นต้องเปิด คำแนะนำการตั้งค่า: memory=256MB, revalidate_freq=60 วินาที ส่วนสภาพแวดล้อมพัฒนาให้ตั้ง revalidate_freq=0 แก้โค้ดแล้วมีผลทันที
อัปเกรด PHP ข้ามเวอร์ชันได้ไหม
อย่าข้ามเวอร์ชัน การกระโดดจาก 7.4 ไป 8.2 ข้ามเวอร์ชันใหญ่ไปสองรุ่น ฟังก์ชันที่ถูกยกเลิกและการเปลี่ยนแปลงไวยากรณ์สะสมกัน โอกาสเกิดปัญหาสูงกว่าการไล่ทีละเวอร์ชันมาก เส้นทางที่ถูกต้องคือ 7.4→8.0→8.1→8.2 ขึ้นหนึ่งเวอร์ชันก็ทดสอบใน staging หนึ่งรอบ ฟังก์ชันหลักใช้งานได้แล้วค่อยขึ้นเวอร์ชันถัดไป ทดสอบใน staging เสร็จแล้วค่อยขึ้นโปรดักชัน อย่าข้ามในโปรดักชันโดยตรง
ก่อนอัปเกรด PHP ต้องสำรองข้อมูลไหม
ต้องสำรอง ข้อมูลทั้งเว็บและฐานข้อมูล เก็บไว้อย่างน้อย 7 วัน แม้ว่าการสลับเวอร์ชัน PHP ในแผงควบคุมโฮสติ้งจะย้อนกลับได้ (แค่สลับกลับ) แต่ถ้าปลั๊กอินตัวใดตัวหนึ่งแก้โครงสร้างฐานข้อมูลหรือเขียนไฟล์ภายใต้ PHP เวอร์ชันใหม่ พอสลับกลับอาจเหลือข้อมูลตกค้าง การสำรองข้อมูลแบบครบถ้วนคือประกันชั้นสุดท้าย ดูการซ้อมสำรองและกู้คืนข้อมูลได้ในบทความการซ้อมสำรองและกู้คืนข้อมูลเว็บไซต์
หลังอัปเกรด PHP แล้ว LCP ไม่เปลี่ยน ถือว่าปกติไหม
ปกติ ถ้าเว็บของคุณตั้งค่าแคชหน้าไว้แล้ว LCP ขึ้นอยู่กับการที่แคช HTML ถูกเรียกใช้เป็นหลัก เวอร์ชัน PHP ไม่มีผลกับคำขอที่แคชทำงาน ผลตอบแทนจากการอัปเกรด PHP จะเห็นชัดตอนแคช miss เช่นตอนเพิ่งเผยแพร่บทความ หรือเข้าหน้าที่ยังไม่ถูกแคช อยากตรวจสอบผลของการอัปเกรด PHP ให้ปิดแคชหน้าใน staging แล้วทดสอบหนึ่งครั้ง จะเห็นเวลาทำงานของ PHP ลดจากหลายร้อยมิลลิวินาทีเหลือไม่ถึง 100 มิลลิวินาที

ทิ้งท้าย

เรื่องการอัปเกรดเวอร์ชัน PHP อุปสรรคที่ใหญ่ที่สุดไม่ใช่เทคนิค แต่เป็นความกลัวที่จะ “ไม่กล้าแตะ” ในใจ หลายทีมรันเว็บบน 7.4 มาแล้วสามปี “ก็รันดีมาตลอด” จนกระทั่งมีครั้งหนึ่งที่อัปเดตปลั๊กอินแล้วหน้าจอขาว หรือถูกแฮกถึงนึกได้ว่าต้องอัปเกรด PHP จริง ๆ แล้วการอัปเกรด PHP เป็นการปรับประสิทธิภาพที่ลงทุนน้อยที่สุดและได้ผลตอบแทนมากที่สุดในบรรดาทั้งหมด ไม่ต้องแก้โค้ดธุรกิจ แค่คลิกสลับเวอร์ชันในแผงควบคุมโฮสติ้ง แล้วใช้เวลาอีกหนึ่งชั่วโมงทดสอบฟังก์ชันหลักหนึ่งรอบ

อัปเกรด PHP แบบ 3 สเต็ป: สเต็ปแรก สำรองข้อมูลทั้งเว็บและฐานข้อมูล แล้วใช้ Compatibility Checker สแกนหาความเข้ากันได้ของปลั๊กอินและธีม; สเต็ปที่สอง อัปเกรดทีละเวอร์ชันใน staging (7.4 → 8.0 → 8.1 → 8.2) ทดสอบเส้นทางหลักของเว็บทุกครั้งหลังอัปเกรด; สเต็ปที่สาม ดีพลอยขึ้นโปรดักชันช่วงคนเข้าน้อย เฝ้าดู 30 นาที ถ้ามีปัญหาให้ย้อนกลับทันที ทำครบสามสเต็ปนี้ เว็บของคุณจะเร็วขึ้นเท่าตัว และยังได้แพตช์ความปลอดภัยครบด้วย

จำง่ายๆ ประโยคเดียว: การอัปเกรด PHP คือการลงทุนด้านประสิทธิภาพที่คุ้มที่สุดสำหรับเว็บไซต์ของตัวเอง — จาก 7.4 ขึ้นเป็น 8.2 เร็วขึ้น 2 เท่า แต่มีข้อแม้ว่าต้องทดสอบความเข้ากันได้ให้ครบก่อน ปลั๊กอินเก่าตัวเดียวก็ทำให้จอขาวได้

crater
crater ผู้เชี่ยวชาญ环形山

ทางการขององค์กร · 环形山 Crater

环形山 (Crater) เป็นบริษัทให้บริการขยายตลาดต่างประเทศที่เชี่ยวชาญการพัฒนาเว็บไซต์ WordPress แบบ Independent Site + Google SEO + GEO เพื่อการเติบโตแบบครบวงจร ให้บริการในกลุ่มธุรกิจ Smart Hardware, Industrial Equipment, SaaS, New Energy และอื่นๆ

ความสามารถของผลิตภัณฑ์ไวท์เปเปอร์ระเบียบวิธีรายงานอุตสาหกรรม
965แชร์
78บทความในคลังความรู้