- الحالة
- مفتوحة
- أُبلغ عنها لـ
- WPML Multilingual CMS 4.6.4
- وسوم الموضوع
- Bug
نظرة عامة على المشكلة
قد يؤدي التحديث إلى WPML 4.6.4 على خادم يستخدم محرك التخزين المؤقت OpCache إلى حدوث خطأ فادح غير متوقع عند استخدام الواجهة الخلفية. وتحديداً عند استخدام مسار النشر.
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() الخاص بك.