Navigation überspringen

Dieses Thema ist gelöst. Hier finden Sie eine Beschreibung des Problems und der Lösung.

Problem:
Nach dem Upgrade auf PHP 8.2 tritt ein Fehler beim Ändern von Inhalten auf, der mit dem Plugin Advanced Custom Fields Pro zusammenhängt, das durch das Plugin Advanced Custom Fields Multilingual erweitert wird. Der Fehler wird durch eine strengere Typprüfung für Array-Schlüssel in PHP 8.2 verursacht, was zu einem Fehler aufgrund ungültiger Datenbankeinträge führt.
Solution:
Um das Problem zu beheben, müssen die ungültigen Datenbankeinträge gelöscht werden. Stellen Sie sicher, dass Sie ein vollständiges Backup Ihrer Website erstellt haben, bevor Sie fortfahren. Greifen Sie auf Ihre Datenbank zu – über PhpMyAdmin, das Adminer-Plugin oder ein anderes Tool Ihrer Wahl – und führen Sie folgenden Befehl aus:

DELETE FROM wp_postmeta WHERE meta_key LIKE '\\_\\_%' ESCAPE '\\';

Nachdem Sie diesen Befehl ausgeführt haben, sollte der Fehler behoben sein.

Falls diese Lösung veraltet ist oder nicht auf Ihr Problem zutrifft, empfehlen wir Ihnen, ein neues Support-Ticket zu öffnen. Wir empfehlen auch, die Seite mit bekannten Problemen zu überprüfen, die Version der dauerhaften Lösung zu verifizieren und zu bestätigen, dass Sie die neuesten Versionen von Themes und Plugins installiert haben. Für weitere Unterstützung besuchen Sie bitte unser Support-Forum.

Dies ist das technische Support-Forum für WPML – das mehrsprachige WordPress-Plugin.

Mitlesen können alle, doch nur WPML-Kunden können hier Fragen veröffentlichen. Das WPML-Team antwortet im Forum an 6 Tagen pro Woche, 22 Stunden am Tag.

Schlagwörter: 

Dieses Thema enthält 0 Antworten, hat 0 Stimmen.

Zuletzt aktualisiert von Lucas Vidal de Andrade Vor 2 Wochen, 4 Tage.

Assistiert von: Lucas Vidal de Andrade.

Verfasser Beiträge
April 7, 2025 at 2:18 pm

WEBneo GmbH

Hintergrund des Themas:
Ich habe die PHP Version von 7.4 auf 8.2 erhöht und alle Plug-Ins sowie WordPress auf die neueste Version aktualisiert. Nun erhalte ich einen Fehler beim Ändern von Inhalten. Der Fehler scheint mit dem Plugin Advanced Custom Fields Pro zusammenzuhängen, das durch das Plugin Advanced Custom Fields Multilingual erweitert wird. Link zur Seite, auf der das Problem zu sehen ist: versteckter Link

Die Symptome:
Die Fehlermeldung lautet: PHP Fatal error: Uncaught TypeError: Illegal offset type in isset or empty in /www/htdocs/w005600a/hbh-immobilien-wp/wp-content/plugins/advanced-custom-fields-pro/includes/class-acf-data.php:96

Fragen:
Wie kann ich den Fehler beim Ändern von Inhalten beheben?
Gibt es bekannte Probleme mit Advanced Custom Fields Pro und PHP 8.2?

April 7, 2025 at 2:49 pm
April 8, 2025 at 12:56 pm #16909538

Lucas Vidal de Andrade
WPML-Unterstützer seit 11/2023

Sprachen: Englisch (English ) Spanisch (Español ) Deutsch (Deutsch ) Portugiesisch, Brasilien (Português )

Zeitzone: America/Sao_Paulo (GMT-03:00)

Guten Tag,

ich überprüfe das derzeit mit unseren Entwicklern und werde mich bei Ihnen melden, sobald ich eine Rückmeldung habe. Vielen Dank.

April 9, 2025 at 5:47 pm #16915463

Lucas Vidal de Andrade
WPML-Unterstützer seit 11/2023

Sprachen: Englisch (English ) Spanisch (Español ) Deutsch (Deutsch ) Portugiesisch, Brasilien (Português )

Zeitzone: America/Sao_Paulo (GMT-03:00)

Guten Tag,

nach einer ausführlichen Analyse haben wir bestätigt, dass das Problem durch ein Kompatibilitätsproblem zwischen dem ACFML-Plugin und dem Upgrade auf PHP 8.2 verursacht wird. PHP 8.2 erzwingt eine strengere Typprüfung für Array-Schlüssel, was in Ihrem Fall aufgrund ungültiger Datenbankeinträge zu einem Fehler führt.

Um das Problem zu beheben, müssen diese Einträge direkt in der Datenbank gelöscht werden. Da Änderungen an der Datenbank sensibel sind, stellen Sie bitte sicher, dass Sie ein vollständiges Backup Ihrer Website erstellt haben, bevor Sie fortfahren.

Greifen Sie auf Ihre Datenbank zu – über PhpMyAdmin, das Adminer-Plugin oder ein anderes Tool Ihrer Wahl – und führen Sie folgenden Befehl aus:

DELETE FROM wp_postmeta  
WHERE meta_key LIKE '\\_\\_%' ESCAPE '\\';

Danach sollte Ihre Datenbank bereinigt sein und der Fehler nicht mehr auftreten. Lassen Sie mich wissen, wie es läuft.