لدي إضافة WP-Discourse تعمل على موقع ووردبريس متعدد المواقع. يستخدم موقعان ضمن الشبكة هذه الإضافة لتسجيل الدخول الموحد (SSO) لموقعين مختلفين من Discourse. المواقع الأخرى في الشبكة لا تستخدم الإضافة. تعمل بشكل جيد حتى الإصدار 2.4.6، ولكن بعد ذلك ينتج عنها خطأ فادح في الشبكة بأكملها. بعد فشل تحديث 2.4.7، انتظرت الإصدار التالي للمحاولة مرة أخرى، ولكن نفس المشكلة.\n\nتعمل الشبكة على ووردبريس 5.4.1 و PHP 5.6.40. أذكر هذا لأنني أعرف أن كلاهما قديم، ولكن هناك أسباب لعدم قدرتنا على الترقية.\n\nما الذي أحتاج إلى القيام به لاستكشاف هذه المشكلة؟ أقدر أي توجيهات أو نصائح.
هل يمكنك توضيح هذا الخطأ؟
نهاية الدعم (EOL) منذ أكثر من 4 سنوات…
هل هناك؟ عادةً ما يعني ذلك نفس الشيء كما في حالة إضافة مخصصة مهجورة واحدة على الأقل. إذن، مشكلتك الحقيقية ليست WP-Discourse، أو إصدار PHP قديم معطل، أو تسرب WordPress — يجب عليك إصلاح السبب الذي يجعلك تستخدم إصدارات قديمة جدًا في أسرع وقت ممكن.
أعني، لست فخورًا بذلك، ولكن هناك سمات قيد الاستخدام على شبكة multisite لا يمكن تحديثها وتتعطل عندما نحاول تحديث WordPress أو PHP. على سبيل المثال، مواقعنا الإلكترونية غير multisite محدثة بالكامل، فقط multisite هي الفوضى…
لقد اضطررت إلى استعادة الإصدار 2.4.6 من المكون الإضافي بسرعة لإصلاح الموقع، لذلك ليس لدي الكثير من التفاصيل. سأرى ما إذا كان بإمكاني إعادة إنتاج المشكلة لفترة وجيزة مع تشغيل التسجيل.
إليك جميع الأخطاء والتحذيرات ذات الصلة:
[06-Jan-2023 18:11:10 UTC] PHP Fatal error: Call to undefined function register_block_type_from_metadata() in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/blocks/comments/comments.php on line 46
[06-Jan-2023 18:11:10 UTC] PHP Fatal error: Call to undefined function register_block_type_from_metadata() in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/blocks/comments/comments.php on line 46
[06-Jan-2023 18:11:12 UTC] PHP Fatal error: Call to undefined function register_block_type_from_metadata() in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/blocks/comments/comments.php on line 46
[06-Jan-2023 18:11:12 UTC] PHP Fatal error: Call to undefined function register_block_type_from_metadata() in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/blocks/comments/comments.php on line 46
[06-Jan-2023 18:11:14 UTC] PHP Fatal error: Call to undefined function register_block_type_from_metadata() in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/blocks/comments/comments.php on line 46
[06-Jan-2023 18:11:32 UTC] PHP Fatal error: Class 'WPDiscourse\\DiscourseComment\\DiscourseComment' not found in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/wp-discourse.php on line 70
[06-Jan-2023 18:11:32 UTC] PHP Warning: Missing argument 2 for WPDiscourse\\Logs\\Logger::create(), called in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/discourse-base.php on line 62 and defined in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/logs/logger.php on line 37
[06-Jan-2023 18:11:32 UTC] PHP Warning: Missing argument 2 for WPDiscourse\\Logs\\Logger::create(), called in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/discourse-base.php on line 62 and defined in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/logs/logger.php on line 37
[06-Jan-2023 18:11:32 UTC] PHP Warning: Missing argument 2 for WPDiscourse\\Logs\\Logger::create(), called in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/discourse-base.php on line 62 and defined in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/logs/logger.php on line 37
[06-Jan-2023 18:11:32 UTC] PHP Warning: Missing argument 2 for WPDiscourse\\Logs\\Logger::create(), called in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/discourse-base.php on line 62 and defined in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/logs/logger.php on line 37
[06-Jan-2023 18:11:32 UTC] PHP Warning: Missing argument 2 for WPDiscourse\\Logs\\Logger::create(), called in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/discourse-base.php on line 62 and defined in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/logs/logger.php on line 37
[06-Jan-2023 18:11:32 UTC] PHP Warning: Missing argument 2 for WPDiscourse\\Logs\\Logger::create(), called in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/discourse-base.php on line 62 and defined in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/logs/logger.php on line 37
[06-Jan-2023 18:11:32 UTC] PHP Warning: Missing argument 2 for WPDiscourse\\Logs\\Logger::create(), called in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/discourse-base.php on line 62 and defined in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/logs/logger.php on line 37
[06-Jan-2023 18:11:32 UTC] PHP Warning: Missing argument 2 for WPDiscourse\\Logs\\Logger::create(), called in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/discourse-base.php on line 62 and defined in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/logs/logger.php on line 37
[06-Jan-2023 18:11:33 UTC] PHP Warning: Missing argument 2 for WPDiscourse\\Logs\\Logger::create(), called in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/discourse-base.php on line 62 and defined in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/logs/logger.php on line 37
[06-Jan-2023 18:11:33 UTC] PHP Warning: Missing argument 2 for WPDiscourse\\Logs\\Logger::create(), called in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/discourse-base.php on line 62 and defined in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/logs/logger.php on line 37
[06-Jan-2023 18:11:33 UTC] PHP Warning: Missing argument 2 for WPDiscourse\\Logs\\Logger::create(), called in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/discourse-base.php on line 62 and defined in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/logs/logger.php on line 37
[06-Jan-2023 18:11:33 UTC] PHP Warning: Missing argument 2 for WPDiscourse\\Logs\\Logger::create(), called in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/discourse-base.php on line 62 and defined in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/logs/logger.php on line 37
[06-Jan-2023 18:11:33 UTC] PHP Warning: Missing argument 2 for WPDiscourse\\Logs\\Logger::create(), called in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/discourse-base.php on line 62 and defined in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/logs/logger.php on line 37
[06-Jan-2023 18:11:33 UTC] PHP Warning: Missing argument 2 for WPDiscourse\\Logs\\Logger::create(), called in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/discourse-base.php on line 62 and defined in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/logs/logger.php on line 37
[06-Jan-2023 18:11:33 UTC] PHP Warning: Missing argument 2 for WPDiscourse\\Logs\\Logger::create(), called in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/discourse-base.php on line 62 and defined in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/logs/logger.php on line 37
[06-Jan-2023 18:11:33 UTC] PHP Warning: Missing argument 2 for WPDiscourse\\Logs\\Logger::create(), called in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/discourse-base.php on line 62 and defined in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/logs/logger.php on line 37
لا أعرف شيئًا، لكنني رأيت أخطاء مشابهة جدًا في ووردبريس عندما يكون PHP قديمًا جدًا (أو جديدًا جدًا، فهذه مشكلة بين الحين والآخر أيضًا)
undefined function register_block_type_from_metadata()
تم تقديم هذه الوظيفة في WordPress 5.5.0، لذا ها هي. WordPress 5.5 أقدم من 2.5 سنة. يجب عليك حقًا معالجة “الأسباب” التي تمنعك من الترقية وترقية WordPress (و PHP).
إما أن المكون الإضافي أو سمة WordPress ستتعطل، والسمة هي التي لا تعمل على WordPress حالي. لذلك، بصراحة، هذه مشكلة في السمة وليست في المكون الإضافي WP Discourse.
تم تقديم هذه الوظيفة في WordPress 5.5.0، لذا ها هي. WordPress 5.5 أقدم من 2.5 عام.
إذا كان الأمر كذلك، وإذا لم تكن هناك نية لجعله متوافقًا مع الإصدارات السابقة كما كان من قبل، فيجب تحديث صفحة إضافة WP-Discourse لتذكر “يتطلب إصدار WordPress: 5.5 أو أعلى”. تذكر حاليًا “4.7 أو أعلى”.
لا أعرف ما هو قالب ووردبريس الذي تستخدمه، ولكن أحيانًا (لقد مررت بذلك)، فإن جعل القالب متوافقًا مع PHP 7+ هو مسألة بضعة أسطر من التعليمات البرمجية للإصلاح.