โดยปกติแล้ว PHP เป็น Interpreted Language หมายความว่าทุกครั้งที่มีคนกดเข้าหน้าเว็บ server จะต้องอ่านไฟล์โค้ด PHP, แปลงเป็นโค้ดที่คอมพิวเตอร์เข้าใจ (เรียกว่า Bytecode หรือ Opcode) แล้วจึงประมวลผลผลลัพธ์ออกมาเป็นหน้าเว็บ
ลองจินตนาการว่าถ้าเว็บของคุณมีคนเข้าพร้อมกัน 1,000 คน Server ก็ต้องมานั่ง “แปลภาษา” โค้ดชุดเดิมซ้ำ ๆ ถึง 1,000 ครั้ง ซึ่งเป็นเรื่องที่กินพลังงานและเสียเวลามากครับ
OPcache เข้ามาช่วยอย่างไร?
OPcache (Optimizer Plus) จะเข้ามาทำหน้าที่เป็น “คนจดจำ” โดยมันจะเซฟ Bytecode ที่แปลเสร็จเรียบร้อยแล้วเก็บไว้ใน Shared Memory (RAM) เมื่อมีคำขอเข้าหน้าเว็บเดิมในครั้งต่อไป PHP ไม่ต้องเสียเวลาอ่านไฟล์และแปลโค้ดใหม่อีกรอบ แต่สามารถดึง Bytecode จาก RAM ไปประมวลผลได้ทันที ทำให้ลดภาระการทำงานของ CPU และช่วยให้เว็บโหลดเร็วขึ้นอย่างเห็นได้ชัด
🛠 วิธีการเปิดใช้งาน OPcache
ใน PHP เวอร์ชันปัจจุบัน (PHP 7.0 ขึ้นไปจนถึง PHP 8.x) OPcache จะถูกติดตั้งมาพร้อมกับ PHP อยู่แล้ว เหลือแค่เราเปิดใช้งานในไฟล์ php.ini ครับ
- เปิดไฟล์
php.iniของคุณขึ้นมา - ค้นหาบรรทัดด้านล่างนี้ (ถ้ามีเครื่องหมาย
;อยู่ข้างหน้า ให้ลบออกเพื่อเปิดใช้งาน)
PHP
PHP
opcache.enable=1
opcache.enable_cli=1 ; เปิดใช้งานสำหรับ PHP CLI ด้วย (เช่น แบ็กกราวด์จ็อบ หรือ Cron job)