Support » Allgemeine Fragen » Fehler bei Multisite: Health-Check – wp_version_check() – WordPress 5.6

  • Gelöst McLibboc

    (@mclibboc)


    Seit einem Update auf WordPress 5.6 bekomme ich in einer WordPress Multisite die folgende als kritisch eingestufte Sicherheitswarnung im „Health Check“ auf Websites, die nicht die Main Site sind:

    Ein Plugin hat Aktualisierungen verhindert, indem es wp_version_check() deaktiviert hat.

    Ich habe ein wenig recherchiert und sehe, dass diese Fehlermeldung generiert wird, wenn die Funktion test_wp_version_check_attached keinen Filter für die Funktion wp_version_check findet.

    Also schaue ich, wo dieser Filter gesetzt wird und stoße dabei in wp-includes/update.php ziemlich am Ende auf diese Zeilen:

    
    if ( ( ! is_main_site() && ! is_network_admin() ) || wp_doing_ajax() ) {
      return;
    }
    
    add_action( 'admin_init', '_maybe_update_core' );
    add_action( 'wp_version_check', 'wp_version_check' );
    

    Wenn ich das richtig verstehe, bewirkt dies, wenn ich mich nicht auf der Hauptseite der Multisite befinde und nicht auf im Networkadmin-Bereich, ein return bevor add_action( 'wp_version_check', 'wp_version_check' ); ausgeführt werden kann.

    Ich habe testweise das hier ausprobiert:

    
    if ( ( ! is_main_site() && ! is_network_admin() ) || wp_doing_ajax() ) {
      add_action( 'wp_version_check', 'wp_version_check' );
      return;
    }
    
    add_action( 'admin_init', '_maybe_update_core' );
    

    und damit verschwindet die Fehlermeldung auf der Health-Check-Seite.

    Ich halte das aktuelle Verhalten für einen Bug.
    Wenn ich das falsch sehe, bin ich für Hinweise dankbar, wie der Fehler ansonsten zu beseitigen ist.

    • Dieses Thema wurde geändert vor 3 Jahren, 2 Monaten von McLibboc.
    • Dieses Thema wurde geändert vor 3 Jahren, 2 Monaten von McLibboc.
Ansicht von 8 Antworten - 1 bis 8 (von insgesamt 8)
  • Oh je, ein Bug?

    Dann wäre es toll, wenn du dazu direkt ein Bug-Ticket erstellst.
    Das Eingabe-Formular findest du unter Create New Ticket.

    Du hast aber vorher geprüft, dass es nicht doch an einem Plugin liegt (zumindest suggeriert die Fehlermeldung das) oder ein Eintrag in der wp-config.php die automatisierten Updates verhindert?

    Thread-Starter McLibboc

    (@mclibboc)

    Die Fehlermeldung ist hartkodiert in public function test_wp_version_check_attached() und diese Funktion prüft nur nach has_filter( 'wp_version_check', 'wp_version_check' )

    Also ist zusätzlich zum eigentlichen Fehler auch die Fehlermeldung ausgesprochen unglücklich.

    Thread-Starter McLibboc

    (@mclibboc)

    Ok, das ist es. Danke für den Hinweis.

    Das würde ich unbedingt in das Bug-Ticket reinschreiben.

    Wobei der Health-Check eigentlich eher schematisch die WordPress-Installation auf mögliche Fehlerursachen prüfen soll und die Fehlermeldungen bewusst etwas pauschal gehalten werden.
    Wenn du im Browser eine Fehlermeldung „500 – Internal Server Error“ angezeigt bekommst, ist das auch erst einmal wenig aussagefähig. Du weißt dann aber, dass etwas kaputt ist und kannst z.B. durch die Auswertung von Error-Logs prüfen, was die Ursache sein könnte.

    Zu prüfen, ob dem Hook wp_version_check die Funktion wp_version_check zugewiesen ist, ist ja nicht so ganz abwegig. Es könnte sein, dass genau diese Funktion über ein Plugin entkoppelt wurde – und genau das besagt die Fehlermeldung.

    Ich habe auch dieses Problem. Erst dachte ich es läge an meinen speziellen Einstellungen, aber dann setzte ich eine Multisite-Testinstallation ohne irgendwelche Plugins und besonderen Konfigurationen auf, habe es überprüft und wollte den Bug melden, war aber zu spät.

    Da der Link zum passenden Bug-Ticket genannt wurde und wir hier nicht mehr ausrichten können, markiere ich den Thread als „gelöst“.

    Thread-Starter McLibboc

    (@mclibboc)

    Wurde in Version 5.6.1 gefixt und ist damit nun tatsächlich gelöst.

Ansicht von 8 Antworten - 1 bis 8 (von insgesamt 8)
  • Das Thema „Fehler bei Multisite: Health-Check – wp_version_check() – WordPress 5.6“ ist für neue Antworten geschlossen.