Ho il plugin WP-Discourse in esecuzione su un multisito WordPress. Due siti all’interno della rete lo utilizzano per l’SSO per due diversi siti Discourse. Altri siti della rete non utilizzano il plugin. Funziona bene fino alla versione 2.4.6, ma oltre ciò provoca un errore critico sull’intera rete. Dopo che l’aggiornamento 2.4.7 è fallito, ho aspettato la versione successiva per riprovare, ma lo stesso problema.
La rete esegue WordPress 5.4.1 e PHP 5.6.40. Lo menziono perché so che entrambi sono vecchi, ma ci sono ragioni per cui non possiamo aggiornarli.
Cosa devo fare per risolvere questo problema? Apprezzo qualsiasi suggerimento o consiglio.
Ce ne sono? Di solito significa lo stesso che almeno un plugin personalizzato abbandonato. Allora il tuo vero problema non è WP-Discourse, una vecchia versione PHP rotta o WordPress che perde dati: dovresti risolvere al più presto il motivo per cui stai usando versioni troppo vecchie.
Voglio dire, non ne sono orgoglioso, ma ci sono temi in uso sulla rete multisito che non possono essere aggiornati e che si rompono quando abbiamo provato ad aggiornare WordPress o PHP. Per quello che vale, i nostri siti web non multisito sono tutti tenuti aggiornati, solo il multisito è uno spettacolo da dimenticare…
Ho dovuto ripristinare rapidamente la versione 2.4.6 del plugin per correggere il sito, quindi non ho molti dettagli. Vedrò se riesco a riprodurre il problema brevemente con il logging attivato.
[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
Non ne so nulla, ma ho visto errori molto simili su WordPress quando PHP è troppo vecchio (o troppo nuovo, anche quello è un problema di tanto in tanto)
Questa funzione è stata introdotta in WordPress 5.5.0, quindi ecco la soluzione. WordPress 5.5 ha oltre 2,5 anni. Dovresti davvero affrontare le “ragioni” che ti impediscono di aggiornare e aggiornare WordPress (e PHP).
O il plugin o il tema di WordPress si romperanno, e il tema è quello che non funziona su un WordPress attuale. Quindi, per dirla senza mezzi termini, questo è un problema del tema e non del plugin WP Discourse.
Se questo è il caso, e se non c’è intenzione di renderla retrocompatibile come prima, allora la pagina del plugin WP-Discourse deve essere aggiornata per indicare “Richiede WordPress Versione: 5.5 o superiore”. Attualmente indica “4.7 o superiore”.
Non so quale tema WP utilizzi, ma a volte (ci sono già passato), rendere un tema compatibile con PHP 7+ è una questione di poche righe di codice da correggere.