ปัญหาที่พบบ่อย
ปัญหาที่พบบ่อยการหลีกเลี่ยงการหมดเวลาในเซิร์ฟเวอร์ PHP

การหลีกเลี่ยงการหมดเวลาในเซิร์ฟเวอร์ PHP

คำขอที่ส่งไปยัง API ของบริการ AI จะรวมสตริงที่ต้องแปลได้มากที่สุดเท่าที่จะทำได้ ยิ่งคำขอยาวมากเท่าใด API ก็จะใช้เวลาในการประมวลผลนานมากขึ้นเท่านั้น

การตอบสนองที่ช้าอาจทำให้เกิดการหมดเวลาบนเซิร์ฟเวอร์ PHP ของคุณ (เช่น หากเวลาสูงสุดในการรันสคริปต์ PHP กำหนดไว้ที่ 30 วินาที)

เพื่อหลีกเลี่ยงการหมดเวลา คุณสามารถ:

  • ตั้งค่า Translation Timeout ให้ต่ำกว่า max_execution_time ของ PHP (แนะนำ)
  • เพิ่มเวลาสูงสุดในการรันสคริปต์ในการตั้งค่า PHP
  • ลดขนาด payload ที่ส่งไปยัง API ในการตั้งค่าปลั๊กอิน
  • เพิ่มจำนวนคำขอขาออกพร้อมกันที่เซิร์ฟเวอร์ของคุณอนุญาต (ดู การแปลโพสต์จำนวนมากพร้อมกันเป็นหลายภาษาล้มเหลว)

เมื่อลดขนาด payload คำขอจะถูกแบ่งออกเป็นคำขอหลายรายการ ซึ่งแต่ละรายการจะได้รับการประมวลผลเร็วขึ้น

ไปที่ Settings > Service Configuration > [AI service] และลดค่าตัวเลือก Max request payload length ให้เป็นจำนวนอักขระที่เหมาะสมเพื่อหลีกเลี่ยงข้อผิดพลาดการหมดเวลา

ตัวอย่างเช่น หากตั้งไว้ที่ 4000 แล้วล้มเหลว ให้ลองตั้งเป็น 2000

การตั้งค่าตัวเลือก 'Max request payload length'
การตั้งค่าตัวเลือก 'Max request payload length'

การตั้งค่า Translation Timeout

เว็บเซิร์ฟเวอร์ของคุณบังคับใช้เวลาสูงสุดในการรันสคริปต์สำหรับคำขอ PHP ทุกรายการผ่านคำสั่ง max_execution_time (กำหนดใน php.ini หรือผ่านแผงควบคุมโฮสติ้งของคุณ)

ปลั๊กอินมีตัวเลือก Translation Timeout ในการตั้งค่า ใต้ Plugin Configuration > Translation Timeout ให้กำหนดค่าให้ต่ำกว่า max_execution_time ของเซิร์ฟเวอร์ เพื่อให้การแปลที่หยุดทำงานล้มเหลวอย่างสะอาดโดยมีข้อผิดพลาดที่ควบคุมได้ในบันทึก แทนที่จะกระตุ้นการหมดเวลาของเซิร์ฟเวอร์ทั่วไป (HTTP 502 / 504 หรือหน้าว่างเปล่าที่แสดง "Maximum execution time of N seconds exceeded")

การตั้งค่าตัวเลือก Translation Timeout
การตั้งค่าตัวเลือก Translation Timeout

หากการแปลของคุณหมดเวลาอยู่เป็นประจำ ให้เพิ่มทั้งค่านี้และ max_execution_time ของเซิร์ฟเวอร์_พร้อมกัน_