- สถานะ
- แก้ไขแล้ว
ภาพรวมของปัญหา
Iconv เป็นโมดูล PHP ที่จำเป็นสำหรับบางฟีเจอร์ของ WPML โดยค่าเริ่มต้น โมดูลนี้จะถูกเปิดใช้งานเมื่อมีการติดตั้ง PHP บนเซิร์ฟเวอร์ อย่างไรก็ตาม ผู้ให้บริการโฮสติ้งบางรายอาจปิดการใช้งาน
https://www.php.net/manual/en/book.iconv.php
ดังนั้น หากคุณเปิดใช้งาน WPML และไม่ได้เปิดใช้งานโมดูล Iconv คุณจะเห็นข้อความแสดงข้อผิดพลาดดังต่อไปนี้:
Fatal error: Uncaught Error: Call to undefined function SymfonyPolyfillMbstringiconv() in .../wp-content/plugins/sitepress-multilingual-cms/vendor/symfony/polyfill-mbstring/Mbstring.php:409
นอกจากนี้ คุณอาจพบข้อผิดพลาดลักษณะนี้ใน WPML 4.3.16
Fatal error: Uncaught Error: Class 'Normalizer' not found in .../wp-content/plugins/sitepress-multilingual-cms/vendor/symfony/polyfill-iconv/Iconv.php:689
วิธีแก้ปัญหาชั่วคราว
นักพัฒนาของเรากำลังดำเนินการเพื่อแก้ไขปัญหานี้โดยอัตโนมัติใน WPML เวอร์ชันถัดไป แต่เราขอแนะนำให้คุณ:
- โฮสติ้งที่มีการจัดการอย่างมืออาชีพ: ติดต่อผู้ให้บริการโฮสติ้งของคุณและขอให้ติดตั้งและเปิดใช้งานโมดูล PHP iconv และโมดูล PHP intl
- โฮสติ้งที่จัดการด้วยตนเอง:
การติดตั้งใหม่ การอัปเดต หรือการคอมไพล์ PHP ใหม่ดูเหมือนจะเป็นตัวเลือกที่ง่ายที่สุดหากไม่เคยติดตั้งโมดูล iconv มาก่อน
โปรดตรวจสอบให้แน่ใจว่าคุณไม่ได้คอมไพล์ PHP โดยใช้ “–without-iconv” - ติดตั้งหรือเปิดใช้งานโมดูล PHP intl
เมื่อเปิดใช้งาน iconv แล้ว คุณจะพบตารางต่อไปนี้ใน phpinfo ของคุณ:
ตรวจสอบให้แน่ใจว่าได้เปิดใช้งานโมดูล PHP intl ด้วยเช่นกัน