WPML
สถานะ
แก้ไขแล้ว
รายงานสำหรับ
WPML Multilingual CMS 3.1.7.2

ภาพรวมของปัญหา

หน้าจอสีขาว หรือหนึ่งในข้อผิดพลาดเหล่านี้อาจแสดงขึ้นเมื่อมีการดำเนินการประเภทต่าง ๆ หรือเมื่อแสดงบางหน้าในส่วนหน้าเว็บไซต์:

  • Fatal error: Maximum function nesting level of '100' reached, aborting!
  • Fatal error: Allowed memory size of xxxxxx bytes exhausted

ในการกำหนดค่าบางอย่าง (ที่พบได้ยากและเฉพาะเจาะจงมาก) โค้ดของ WPML จะเข้าสู่ลูปที่ไม่มีที่สิ้นสุด ลูปนี้จะทำงานไปเรื่อย ๆ และใช้หน่วยความจำจนกว่าจะถึงขีดจำกัดหน่วยความจำ PHP สูงสุดที่จัดสรรไว้ คุณอาจประสบปัญหานี้หากขีดจำกัดหน่วยความจำของเซิร์ฟเวอร์ของคุณสูงมากแต่ยังคงถูกใช้จนหมด

โปรดทราบว่าใน 99.5% ของกรณีทั้งหมด หน่วยความจำล้นบ่งชี้ว่าขีดจำกัดหน่วยความจำของ PHP ต่ำเกินไป ข้อบกพร่องนี้จะเกิดขึ้นในกรณีที่พบได้ยากมาก รายงานส่วนใหญ่เกี่ยวกับหน่วยความจำล้นสามารถแก้ไขได้โดยเพียงแค่เพิ่มจำนวนหน่วยความจำที่อนุญาต

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

วิธีแก้ปัญหาชั่วคราว

การแก้ไขนี้อ้างอิงจาก WPML การแปลสตริง เวอร์ชัน 2.0.9.1
เราขอแนะนำให้รอการอัปเดตปลั๊กอินในครั้งถัดไป แต่หากคุณต้องการการแก้ไขอย่างรวดเร็วและมีความเชี่ยวชาญเพียงพอในการแก้ไขไฟล์ปลั๊กอิน โปรดทำตามคำแนะนำเหล่านี้:


  • เปิดไฟล์ *wp-content/plugins/wpml-string-translation/inc/functions.php*

  • ในบรรทัดที่ 2940 ให้แทนที่สิ่งนี้: WPML_Config::load_config_run();
    ด้วยสิ่งนี้: remove_action('update_option', 'update_option_to_translate_string', 5);
    WPML_Config::load_config_run();
    add_action('update_option', 'update_option_to_translate_string', 5, 3);

  • บันทึก

ปัญหาที่ทราบแล้วทั้งหมด →