WordPress 6.4 Update verursacht kritische Fehler

Im letzten Update von WordPress, Version 6.4, ist ein kritischer Fehler aufgetreten, der zu erheblichen Beeinträchtigungen bei den Nutzern führt. Das Problem betrifft die Funktion wp_remote_get, die nun den cURL-Fehler 28 auslöst: Operation timed out. Dieses Problem betrifft hauptsächlich Hosts mit curl Version 7.29 oder höher und tritt vor allem bei neuen WordPress-Installationen auf.

Um dieses Problem zu beheben, hat das WP Core Team einen Hotfix vorgeschlagen, während die Diskussionen mit dem WP Systems Team andauern, um eine Lösung auf Serverebene auf api.wordpress.org zu finden.

Beschreibung und Auswirkungen des Problems

Das Problem mit dem WordPress 6.4-Update, das einen kritischen Fehler verursacht, ist durch das Auftreten von wp_remote_get gekennzeichnet, das den cURL-Fehler 28: Operation timed out verursacht. Dieses Problem wurde an zwei aktuellen WordPress-Installationen getestet, bei denen Code in die Datei functions.php eingefügt und eine wp_remote_get-Anfrage gestellt wurde. WordPress 6.4 antwortete mit einem WP_Error Objekt mit einer Fehlermeldung, während WordPress 6.3.2 gültige JSON Daten in nur einer Sekunde zurückgab.

Dieses Update hatte erhebliche Auswirkungen auf die Performance der Website, insbesondere bei Hosts mit Curl Version 7.29 oder höher. Um das Problem zu beheben, wurden Schritte zur Fehlerbehebung unternommen, einschließlich eines vorgeschlagenen Hotfixes in WP Core und Gesprächen mit dem WP-Systemteam über einen Fix auf Serverebene.

WordPress 6.4 Update verursacht kritische Fehler 1 Wordpress Hosting

Hotfix und System-Update

Die notwendigen Maßnahmen wurden ergriffen, um einen kritischen Fehler zu beheben, der durch das letzte Update von WordPress 6.4 verursacht wurde. Das Problem trat aufgrund einer Änderung im Update auf, die WordPress-Hosts mit Curl Version 7.29 oder höher betraf. In Zusammenarbeit mit dem WordPress-Systemteam für api.wordpress.org hat das WP-Team einen Fix auf Serverebene diskutiert und implementiert, um das Problem zu beheben. Zusätzlich wurde ein Hotfix in WP Core vorgeschlagen, um das Problem sofort zu beheben.

WordPress 6.4 Update verursacht kritische Fehler 2 Wordpress Hosting

Updates und Lösungen

Die WordPress-Community hat einen kritischen Fehler, der durch das Update 6.4 verursacht wurde, durch effektive Kommunikation über Slack schnell angesprochen und behoben. Eine Folgenabschätzung ergab, dass das Update eine Änderung für Hosts mit curl Version 7.29 oder höher einführte, die zum cURL-Fehler 28 führte: Operation timed out error. Um dieses Problem zu beheben, wurde ein Hotfix zur sofortigen Implementierung in WP Core vorgeschlagen. Darüber hinaus wurden Gespräche mit dem WP-Systemteam geführt, um einen Fix auf Serverebene auf api.wordpress.org zu implementieren.

LESEN  Google Produkt Review Update April

Um ähnliche Probleme in Zukunft zu vermeiden, wurde ein Bash-Skript zur Verfügung gestellt, um Curl.php für mehrere WordPress-Instanzen zu aktualisieren.

#!/bin/bash

# Define the pattern to search for and the replacement string
search_for="if (\$this->version < self::CURL_7_22_0 && !isset(\$headers\['Connection'\])) {"
replace_with="if (!isset(\$headers['Connection'])) {"

# Define the path to the Curl.php files relative to the WordPress installations
relative_path="wp-includes/Requests/src/Transport/Curl.php"

# Find all Curl.php files under the specified directory
# Usually, WordPress installations are under /var/www/vhosts/ in Plesk
find /var/www/vhosts/ -type f -name "Curl.php" | while read file; do
    # Check if the file contains the string we want to replace
    if grep -q "$search_for" "$file"; then
        # Take a backup of the original file
        cp "$file" "$file.bak"
        
        # Replace the string
        sed -i "s/$search_for/$replace_with/" "$file"
        
        # Output the file path that was changed
        echo "Modified: $file"
    else
        # Output the file path that was not changed because the pattern was not found
        echo "Pattern not found, not modified: $file"
    fi
done

# Script complete message
echo "All matching instances have been updated."

Update 10.11.2023: WordPress 6.4.1 behebt kritischen cURL/Requests-Fehler

Das WordPress-Team hat schnell gearbeitet, um eine Wartungsversion 6.4.1 vorzubereiten, nachdem ein kritischer Fehler durch eine Änderung in der Requests-Bibliothek aufgetaucht war, der Probleme mit Updates auf Servern mit älteren cURL-Versionen verursachte.

Hosting-Unternehmen begannen, über die weitreichenden Auswirkungen dieses Fehlers zu berichten. Tom Sommer von einem der größten dänischen Hosting-Unternehmen meldete einen GitHub-Problemfall, in dem er die Auswirkungen von cURL-Timeout auf Websites beschrieb:

#657 bricht Downloads von https://api.wordpress.org/ und vielen anderen Seiten ab, wenn Curl 7.29.0 (und möglicherweise andere Versionen) verwendet wird.

Erklärung

  • Fehler: RuntimeException: Failed to get url ‘https://api.wordpress.org/core/version-check/1.7/?locale=en_US’: cURL-Fehler 28: Operation wurde nach 10000 Millisekunden mit 807 von -1 empfangenen Bytes abgebrochen.
  • Es verursacht auch Probleme mit der REST API in Site Health mit dem Fehler: REST API Antwort: (http_request_failed) cURL error 28: Operation timed out after 10005 milliseconds with XXX out of XXX bytes received”.
  • Es verhindert auch WordPress-Plugin- und Core-Updates, im Grunde alles, was auf den internen Curl-Handler von WordPress angewiesen ist.
  • Das Problem wurde zu einer Top-Priorität, da nicht klar war, wie die Nutzer ein Update erhalten könnten.

“Selbst wenn das Problem jetzt behoben wird, verhindert es ein zukünftiges automatisches Upgrade auf 6.4.1, da es die Curl-Anfragen unterbricht, so dass die einzige Möglichkeit für die Nutzer darin besteht, manuell zu aktualisieren”, so Sommer. “Je länger man wartet, desto größer wird das Problem.

LESEN  Premium Addons PRO und der neue Animated Shape Divider

Nexcess berichtet, dass zehntausende Websites von dem Fehler betroffen sind. Das Problem überstieg das, was die meisten Nutzer manuell beheben konnten, so dass die Betreiber herausfinden mussten, wie sie ihre Kunden aktualisieren konnten.

Alle meine Websites sind nach dem Update auf WordPress 6.4 blockiert. Diejenigen, die nicht aktualisiert wurden, funktionieren normal.

Javier Martín González

Der Fehler soll auch mögliche Probleme mit der Stripe-API, WP-Admin und der Performance verursachen.

Tiffany Bridge, Produktmanagerin bei Liquid Web/Nexcess, fasst zusammen, wie das Problem auftrat:

  • Jemand meldete einen Fehler, der mit der Interaktion zwischen seinem Intrusion Protection System und WordPress zusammenhing.
  • Daraufhin hat er einen eigenen Patch bei WordPress eingereicht.
  • Der Projektleiter für diesen Bereich forderte den Einreicher auf, Tests zu schreiben, was dieser nicht tat.
  • Daraufhin wurde der Patch trotz fehlender Tests zusammengeführt.
  • In der Zwischenzeit müssen alle Hosts diese Änderung in ihrer eigenen Flotte selbst rückgängig machen, damit unsere Kunden weiterhin kleine Dinge wie Core- und Plugin-Updates erhalten können, wenn wir eine betroffene cURL-Version verwenden. (7.29 bestätigt, es könnte weitere Versionen geben)
  • Das WordPress Core-Team wird der Frage nachgehen müssen, wie dieser Fehler passieren konnte, sei es durch ein Post-Mortem oder eine andere Diskussion, um zu verhindern, dass so etwas in Zukunft in so großem Umfang passiert.

WordPress 6.4.1 aktualisiert die Requests-Bibliothek von Version 2.0.8 auf 2.0.9. als Hotfix-Version, um das Problem zu entschärfen. Damit wird die problematische Änderung rückgängig gemacht. Die Version 6.4.1 enthält außerdem Korrekturen für drei weitere Probleme. Automatische Updates wurden an alle Websites verschickt, die automatische Updates im Hintergrund unterstützen.

Ein weiteres Problem mit Themes wurde hier besprochen und gelöst: #59847

Teilen auf:

Facebook
Twitter
Pinterest
LinkedIn

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Inhaltsverzeichnis

Thoka Network

Weitere Beiträge aus dem Themenbereich:

Nach oben scrollen