WordPressプラグインのアップデートでサイトが停止(2.4.6 → 2.4.7 および 2.4.8)

WordPress マルチサイトで WP-Discourse プラグインを実行しています。ネットワーク内の 2 つのサイトでは、2 つの異なる Discourse サイトの SSO に使用されています。ネットワークの他のサイトではプラグインを使用していません。バージョン 2.4.6 までは正常に動作していましたが、それ以降ではネットワーク全体で致命的なエラーが発生します。2.4.7 のアップデートが失敗した後、次のバージョンまで待って再試行しましたが、問題は同じでした。

ネットワークは WordPress 5.4.1 と PHP 5.6.40 で実行されています。どちらも古いことは承知していますが、アップグレードできない理由があるため、これらを記載します。

この問題をトラブルシューティングするには、何をすればよいですか? ポインターやヒントがあれば教えてください。

「いいね!」 1

そのエラーについて詳しく説明していただけますか?

4年以上前にEOL(提供終了)を迎えています…

「いいね!」 3

そうですか? 通常、それは少なくとも1つの放棄されたカスタムプラグインと同じ意味です。それなら、あなたの本当の問題はWP-Discourse、古い壊れたPHPバージョン、または漏れているWordPressではありません—あなたが非常に古いバージョンを使用している理由をすぐに修正する必要があります。

「いいね!」 2

誇れることではありませんが、マルチサイトネットワークでは更新できないテーマが使用されており、WordPress や PHP を更新すると問題が発生します。参考までに、マルチサイト以外のウェブサイトはすべて最新の状態に保たれていますが、マルチサイトだけがひどい状態です…

サイトを修正するために、プラグインのバージョン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
「いいね!」 1

何も知りませんが、PHPが古すぎる(または新しすぎる、これも時々問題になります)場合にWordPressで非常によく似たエラーを見たことがあります。

その関数はWordPress 5.5.0で[導入]されました(register_block_type_from_metadata() – Function | Developer.WordPress.org)。WordPress 5.5は2年半以上前のものです。アップグレードを妨げている「理由」に対処し、WordPress(およびPHP)をアップグレードする必要があります。

プラグインまたはWordPressテーマのいずれかが破損しますが、テーマは現在のWordPressで動作しないものです。したがって、率直に言って、これはWP Discourseプラグインの問題ではなく、テーマの問題です。

「いいね!」 3

もしそうであれば、以前のように後方互換性を持たせる意図がないのであれば、WP-Discourseプラグインページには「WordPressバージョン: 5.5以降が必要」と記載する必要があります。現在は「4.7以降」と記載されています。

「いいね!」 2

WPテーマが何であるかは分かりませんが、時々(私も経験しました)、テーマをPHP 7+互換にするのは、数行のコードを修正するだけで済みます。