Fehlerbehebung
Kryptografische Sodium-Fehler in WordPress diagnostizieren
WordPress und einige Plugins nutzen kryptografische Funktionen, um Signaturen zu prüfen und Daten zu schützen. PHP kann sie über die native Erweiterung Sodium bereitstellen, und WordPress enthält zusätzlich eine Kompatibilitätsbibliothek für Umgebungen, in denen sie fehlt.
Ein Protokoll kann einen Fehler wie diesen zeigen:
PHP Fatal error: Uncaught TypeError: Argument 2 must be a string, integer given. in /home/usuario/public_html/wp-includes/sodium_compat/src/Core/Util.php:242
Dieser TypeError bestätigt, dass das zweite Argument eine Ganzzahl war, obwohl die Funktion eine Zeichenkette verlangte. Dass der Stacktrace durch wp-includes/sodium_compat/ läuft, beweist weder, dass Sodium fehlt, noch dass das Aktivieren der Erweiterung diesen Wert korrekt umwandelt.
1. Den vollständigen Stacktrace aufbewahren
Notieren Sie die Uhrzeit und suchen Sie im Stacktrace die erste Datei außerhalb von wp-includes/sodium_compat/. Meist lässt sich daran das Plugin, Theme oder die Integration erkennen, die die Argumente vorbereitet hat. Ändern Sie keine Dateien in wp-includes: Sie werden beim Update ersetzt und korrigieren den Aufrufer nicht.
2. Die PHP-Umgebung der Website prüfen
Prüfen Sie in den PHP-Informationen, ob die Erweiterung sodium geladen ist. Prüfen Sie das mit demselben PHP, das die Website ausführt: PHP CLI kann eine andere Version oder Konfiguration nutzen.
- Wenn das Plugin ausdrücklich die native Erweiterung verlangt und sie nicht geladen ist, aktivieren Sie sie unter Select PHP Version oder bitten Sie den Anbieter darum.
- Wenn Sodium bereits aktiv ist oder der Fehler einen ungültigen Typ meldet, aktualisieren Sie die ermittelte Komponente und klären Sie mit ihrem Entwickler, warum sie eine Ganzzahl sendet.
- Wenn der Fehler nach einem PHP-Wechsel auftrat, bestätigen Sie, dass die Website in der neuen Version dieselben Erweiterungen hat.
3. Die Korrektur prüfen
Wiederholen Sie genau die fehlerhafte Aktion und prüfen Sie das Protokoll zur selben Uhrzeit. Bestätigen Sie, dass der TypeError nicht mehr erscheint und dass die betroffene Signatur, der Webhook oder die Integration ihren Ablauf abschließt. Dass die Erweiterung vorhanden ist, belegt für sich allein nicht, dass die gesendeten Daten gültig sind.
Wandeln Sie das Argument nicht innerhalb von sodium_compat in Text um, um den TypeError zu vermeiden: Schlüssel, Signaturen und Nachrichten haben bestimmte Formate und Längen. Eine Umwandlung, die den Fehler beseitigt, kann eine fehlerhafte Prüfung hinterlassen.
Wenn Sie den Stacktrace an den Entwickler weitergeben, behalten Sie Funktionsnamen und Typen bei, lassen Sie aber Schlüssel, private Signaturen, Tokens und sensible Inhalte weg. Nutzen Sie Testdaten, um die kryptografische Operation nachzustellen; eine Seite ohne Fehler reicht nicht, wenn die Prüfung übersprungen wurde.
Das könnte Ihnen auch helfen
- 404-Fehler bei statischen Dateien verlangsamen die Website Erkennen Sie fehlende statische Ressourcen, die PHP starten und CPU verbrauchen, liefern Sie sie als...
- Elementor 3.6.x, historische Kompatibilitätsprobleme Historische Anleitung zur Diagnose von Fehlern nach dem Update auf Elementor 3.6, ohne sie alle ders...
- Elementor zeigt beim Speichern einen Fehler 500 Ermitteln Sie die Anfrage und den PHP-Fehler von Elementor, bevor Sie Speicherlimits, Plugins oder S...
- Fehler beim WordPress-Update, „cURL operation timed out“ Ermitteln Sie URL und Phase einer abgelaufenen Anfrage, bevor Sie den cURL-Fehler 28 WordPress, eine...
Stimmt etwas nicht oder hat sich etwas geändert? Erzählen Sie es uns, und wir prüfen es.