- สถานะ
- เปิด
- รายงานสำหรับ
- WPML Multilingual CMS 4.6.4
- แท็กหัวข้อ
- Bug
ภาพรวมของปัญหา
การอัปเดตเป็น WPML 4.6.4 บนเซิร์ฟเวอร์ที่มีระบบแคช OpCache อาจทำให้เกิดข้อผิดพลาดร้ายแรงที่ไม่คาดคิดเมื่อใช้งานระบบหลังบ้านของคุณ โดยเฉพาะอย่างยิ่งเมื่อใช้งาน deployment pipeline
2023/06/22 02:36:16 [error] 359706#359706: *507646 FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught TypeError: WPML\User\UsersByCapsRepository::__construct(): Argument #2 ($languagePairs) must be of type WPML\User\LanguagePairs\ILanguagePairs, WPML_Language_Pair_Records given, called in .../wp-content/plugins/sitepress-multilingual-cms/classes/container/class-config.php on line 63 and defined in .../wp-content/plugins/sitepress-multilingual-cms/classes/user/UsersByCapsRepository.php:18
วิธีแก้ปัญหาชั่วคราว
โปรดตรวจสอบให้แน่ใจว่าคุณมีการสำรองข้อมูลแบบเต็มสำหรับไซต์ของคุณก่อนดำเนินการต่อ
ตัวเลือกที่ 1
การรีสตาร์ทเซิร์ฟเวอร์ PHP ของคุณน่าจะช่วยแก้ไขปัญหานี้ได้ โปรดติดต่อผู้ให้บริการเซิร์ฟเวอร์ของคุณและขอรีสตาร์ทบริการ PHP-FPM
ตัวเลือกที่ 2
1. ตรวจสอบว่ามีไฟล์ใหม่หรือไม่- เปิด ../wp-content/plugins/sitepress-multilingual-cms/classes/language/class-wpml-language-pair-records.php
- ตรวจสอบว่าไฟล์ถูกวางอย่างถูกต้องหรือไม่ โดยควรมีโค้ดนี้ในบรรทัดที่ 14:
class WPML_Language_Pair_Records implements ILanguagePairs {แทนที่จะเป็น:
class WPML_Language_Pair_Records { - หากไม่เป็นเช่นนั้น แสดงว่าอาจมีปัญหาในกระบวนการปรับใช้และคุณจำเป็นต้องตรวจสอบ
คุณสามารถเลือกที่จะยกเลิก OPCache ของคุณสำหรับไฟล์นั้นโดยเฉพาะได้
- เรียกใช้สิ่งนี้จากสคริปต์ที่ให้บริการผ่าน http (ไม่ใช่ CLI/SSH):
opcache_invalidate( '/wp-content/plugins/sitepress-multilingual-cms/classes/language/class-wpml-language-pair-records.php', true);
- เปิดโฟลเดอร์ /wp-content/plugins/sitepress-multilingual-cms/classes/ ของคุณ
- ค้นหาโฟลเดอร์ /Language/ ที่หลงเหลืออยู่ซึ่งเป็นตัวพิมพ์ใหญ่
- หากเป็นเช่นนั้น โปรดลบไดเรกทอรี
/Language/และตรวจสอบให้แน่ใจว่าไดเรกทอรี/language/มีไฟล์จาก WPML 4.6.6 เวอร์ชันที่เผยแพร่
หากปัญหายังคงอยู่ โปรดติดต่อฝ่ายสนับสนุนของ WPML จะเป็นประโยชน์อย่างยิ่งหากคุณ ส่งเนื้อหา phpinfo() ของคุณมาให้เรา