Zum Inhalt springen Zur Seitenleiste springen

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.

Sun Mon Tue Wed Thu Fri Sat
- 8:00 – 13:00 9:00 – 13:00 9:00 – 13:00 8:00 – 12:00 8:00 – 12:00 -
- 14:00 – 17:00 14:00 – 18:00 14:00 – 18:00 13:00 – 17:00 13:00 – 17:00 -

Supporter-Zeitzone: Europe/Zagreb (GMT+01:00)

Schlagwörter: ,

Dieses Thema enthält 7 Antworten, hat 0 voices.

Zuletzt aktualisiert von Bruno Kos Vor 5 Tage, 16 Stunden.

Assistiert von: Bruno Kos.

Autor Beiträge
November 6, 2025 um 7:06 a.m. #17552135

andreasB-123

Hintergrund des Themas:
Ich habe seit einigen Monaten, wenn nicht sogar schon Jahren, Probleme mit der Ladezeit unserer Website. Mittlerweile stoßen wir an die Grenzen des Webhostings, da der Seite schon 4 GB RAM und 1 GB pro Thread zugewiesen wurden, aber die Memory Limits trotzdem regelmäßig überschritten werden und die Seite crasht. Ich habe ein Monitoring / Debugging Tool installiert und bekomme eine Fehlermeldung. Der Fehler tritt 170 Mal auf, wenn die Seite von einem Nutzer geladen wird. Es werden auch viele Datenbankabfragen von WPML abgeschickt. Ich vermute einen Loop, der den kompletten RAM des Servers konsumiert. Link zur Seite: versteckter Link

Die Symptome:
Fehlermeldung: "gzuncompress(): data error" an Standort wp-content/plugins/sitepress-multilingual-cms/classes/translations/TranslationElements/FieldCompression.php:150, Anzahl: 170. Die Memory Limits werden regelmäßig überschritten und die Seite crasht bei 4-5 aktiven Nutzern.

Fragen:
Wie kann ich das Problem mit dem Fehler 'gzuncompress(): data error' lösen?
Wie kann ich den vermuteten Loop, der den RAM des Servers konsumiert, beheben?

November 6, 2025 um 7:47 a.m. #17552336

Bruno Kos
WPML-Unterstützer seit 12/2018

Sprachen: Englisch (English ) Deutsch (Deutsch ) Französisch (Français )

Zeitzone: Europe/Zagreb (GMT+01:00)

Aktivieren Sie in Ihrer wp-config.php das erweiterte Debugging:

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
define('SAVEQUERIES', true); // Logs DB queries

Öffnen Sie anschließend die Datei:

`wp-content/plugins/sitepress-multilingual-cms/classes/translations/TranslationElements/FieldCompression.php`

Suchen Sie Zeile 49 und ersetzen Sie den folgenden Code:

// Simply try to decompress and check if it succeeds
$decompressed = @gzuncompress( $decoded );
return $decompressed !== false;

durch diesen erweiterten Debug-Code:

// Simply try to decompress and check if it succeeds
try {
    $decompressed = @gzuncompress($decoded);

    if ($decompressed === false) {
        error_log("WPML gzuncompress() failed in FieldCompression::isCompressed()");
        error_log("Data snippet (base64): " . substr(base64_encode($decoded), 0, 120) . "...");
        error_log("Backtrace:\n" . print_r(debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 12), true));
    }
} catch (Throwable $e) {
    error_log("Exception in gzuncompress(): " . $e->getMessage());
    error_log("Data snippet (base64): " . substr(base64_encode($decoded), 0, 120) . "...");
    error_log("Backtrace:\n" . print_r(debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 12), true));
    throw $e;
}

return $decompressed !== false;

Speichern Sie die Datei und laden Sie Ihre Website neu, um den Fehler erneut auszulösen. Anschließend prüfen Sie die Datei /wp-content/debug.log.

Dort finden Sie Einträge wie:

WPML gzuncompress() failed in FieldCompression::isCompressed()
Data snippet (base64): eJyrVkrLz1eyUkpKLFKqBQA6HQhQ...
Backtrace: ...

Der Backtrace zeigt Ihnen, welcher Datenbankeintrag oder welche Zeichenfolgen ID den Fehler verursacht hat.

November 6, 2025 um 7:57 a.m. #17552377

andreasB-123

Ein "WPML gzuncompress()" Eintrag ist leider nicht enthalten. Das sind die Logs, die ich erhalten habe:

[06-Nov-2025 07:53:19 UTC] PHP Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the

health-check

domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the

init

action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /www/reevgmbh_886/public/wp-includes/functions.php on line 6121
[06-Nov-2025 07:53:20 UTC] PHP Notice: Die Funktion Elementor\Controls_Manager::add_control_to_stack wurde fehlerhaft aufgerufen. Cannot redeclare control with same name "eael_image_masking_upload_pro_message". Weitere Informationen: Debugging in WordPress (engl.). (Diese Meldung wurde in Version 1.0.0 hinzugefügt.) in /www/reevgmbh_886/public/wp-includes/functions.php on line 6121
[06-Nov-2025 07:53:47 UTC] PHP Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the

health-check

domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the

init

action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /www/reevgmbh_886/public/wp-includes/functions.php on line 6121
[06-Nov-2025 07:53:52 UTC] PHP Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the

health-check

domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the

init

action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /www/reevgmbh_886/public/wp-includes/functions.php on line 6121
[06-Nov-2025 07:53:56 UTC] PHP Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the

health-check

domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the

init

action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /www/reevgmbh_886/public/wp-includes/functions.php on line 6121
[06-Nov-2025 07:53:56 UTC] PHP Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the

health-check

domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the

init

action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /www/reevgmbh_886/public/wp-includes/functions.php on line 6121
[06-Nov-2025 07:53:56 UTC] PHP Notice: Die Funktion Elementor\Controls_Manager::add_control_to_stack wurde fehlerhaft aufgerufen. Cannot redeclare control with same name "eael_image_masking_upload_pro_message". Weitere Informationen: Debugging in WordPress (engl.). (Diese Meldung wurde in Version 1.0.0 hinzugefügt.) in /www/reevgmbh_886/public/wp-includes/functions.php on line 6121
[06-Nov-2025 07:53:57 UTC] PHP Notice: Die Funktion Elementor\Controls_Manager::add_control_to_stack wurde fehlerhaft aufgerufen. Cannot redeclare control with same name "eael_image_masking_upload_pro_message". Weitere Informationen: Debugging in WordPress (engl.). (Diese Meldung wurde in Version 1.0.0 hinzugefügt.) in /www/reevgmbh_886/public/wp-includes/functions.php on line 6121
[06-Nov-2025 07:54:04 UTC] PHP Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the

health-check

domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the

init

action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /www/reevgmbh_886/public/wp-includes/functions.php on line 6121
[06-Nov-2025 07:54:04 UTC] PHP Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the

health-check

domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the

init

action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /www/reevgmbh_886/public/wp-includes/functions.php on line 6121
[06-Nov-2025 07:54:04 UTC] PHP Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the

health-check

domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the

init

action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /www/reevgmbh_886/public/wp-includes/functions.php on line 6121
[06-Nov-2025 07:54:05 UTC] PHP Notice: Die Funktion Elementor\Controls_Manager::add_control_to_stack wurde fehlerhaft aufgerufen. Cannot redeclare control with same name "eael_image_masking_upload_pro_message". Weitere Informationen: Debugging in WordPress (engl.). (Diese Meldung wurde in Version 1.0.0 hinzugefügt.) in /www/reevgmbh_886/public/wp-includes/functions.php on line 6121
[06-Nov-2025 07:54:06 UTC] PHP Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the

health-check

domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the

init

action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /www/reevgmbh_886/public/wp-includes/functions.php on line 6121
[06-Nov-2025 07:54:06 UTC] PHP Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the

health-check

domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the

init

action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /www/reevgmbh_886/public/wp-includes/functions.php on line 6121
[06-Nov-2025 07:54:07 UTC] PHP Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the

health-check

domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the

init

action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /www/reevgmbh_886/public/wp-includes/functions.php on line 6121
[06-Nov-2025 07:54:08 UTC] PHP Notice: Die Funktion Elementor\Controls_Manager::add_control_to_stack wurde fehlerhaft aufgerufen. Cannot redeclare control with same name "eael_image_masking_upload_pro_message". Weitere Informationen: Debugging in WordPress (engl.). (Diese Meldung wurde in Version 1.0.0 hinzugefügt.) in /www/reevgmbh_886/public/wp-includes/functions.php on line 6121
[06-Nov-2025 07:54:09 UTC] PHP Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the

health-check

domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the

init

action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /www/reevgmbh_886/public/wp-includes/functions.php on line 6121
[06-Nov-2025 07:54:10 UTC] PHP Notice: Function Elementor\Controls_Manager::add_control_to_stack was called incorrectly. Cannot redeclare control with same name "eael_image_masking_upload_pro_message". Please see Debugging in WordPress for more information. (This message was added in version 1.0.0.) in /www/reevgmbh_886/public/wp-includes/functions.php on line 6121

November 6, 2025 um 2:15 p.m. #17554434

Bruno Kos
WPML-Unterstützer seit 12/2018

Sprachen: Englisch (English ) Deutsch (Deutsch ) Französisch (Français )

Zeitzone: Europe/Zagreb (GMT+01:00)

Da in der `debug.log` aktuell kein Eintrag mit
`WPML gzuncompress() failed in FieldCompression::isCompressed()`
auftaucht, wurde der betroffene Datensatz bisher noch nicht aufgerufen.

Bitte lassen Sie die Debug-Einstellungen und die angepasste Datei (`FieldCompression.php`) aktiv und nutzen Sie die Website ganz normal weiter, bis der Fehler („gzuncompress(): data error“) erneut auftritt oder die Seite wieder abstürzt.

Sobald das passiert, prüfen Sie bitte direkt die Datei `/wp-content/debug.log`.
Falls dort Einträge mit *„WPML gzuncompress() failed…“* oder *„Exception in gzuncompress()“* erscheinen, senden Sie mir diese Log-Auszüge (inkl. Backtrace).

Sag mir Bescheid, ob das Sinn ergibt!

November 11, 2025 um 5:43 p.m. #17567957

andreasB-123

Hallo,

vielen Dank für Ihre Hilfe. Der ursprüngliche Debug-Code hat nicht funktioniert, da er an der falschen Stelle in FieldCompression.php platziert war (in der Funktion isCompressed()).
Der Fehlerstapel zeigte, dass der Fehler in der Funktion decompress() in Zeile 150 auftritt. Ich habe den Debug-Code an die richtige Stelle in Zeile 150 verschoben und erhalte nun die korrekten Log-Einträge im debug.log.

Hier ist ein sehr kleiner Auszug aus dem relevanten Log, der den Backtrace und die beschädigten Daten zeigt:

[11-Nov-2025 17:36:49 UTC] --> WPML gzuncompress() FAILED in FieldCompression::decompress() on line 150 <--
[11-Nov-2025 17:36:49 UTC] --> Corrupted Data Snippet (base64): SW50ZWxsaWdlbnQgTGFkZW4=...
[11-Nov-2025 17:36:49 UTC] --> Backtrace:
Array
(
[0] => Array
(
[file] => /www/public/wp-content/plugins/sitepress-multilingual-cms/classes/class-wpml-translation-job-factory.php
[line] => 430
[function] => decompress
[class] => WPML\Translation\TranslationElements\FieldCompression
[type] => ::
)

[1] => Array
(
[file] => /www/public/wp-content/plugins/sitepress-multilingual-cms/classes/class-wpml-translation-job-factory.php
[line] => 480
[function] => add_job_elements
[class] => WPML_Translation_Job_Factory
[type] => ->
)

[2] => Array
(
[file] => /www/public/wp-content/plugins/sitepress-multilingual-cms/classes/class-wpml-translation-job-factory.php
[line] => 141
[function] => complete_job_data
[class] => WPML_Translation_Job_Factory
[type] => ->
)

[3] => Array
(
[file] => /www/public/wp-content/plugins/sitepress-multilingual-cms/classes/class-wpml-translation-job-factory.php
[line] => 158
[function] => get_translation_job
[class] => WPML_Translation_Job_Factory
[type] => ->
)

[4] => Array
(
[file] => /www/public/wp-content/plugins/sitepress-multilingual-cms/API/Jobs.php
[line] => 66
[function] => get_translation_job_as_stdclass
[class] => WPML_Translation_Job_Factory
[type] => ->
)

[5] => Array
(
[function] => WPML\TM\API\{closure}
[class] => WPML\TM\API\Jobs
[type] => ::
)

[6] => Array
(
[file] => /www/public/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/fp/core/functions.php
[line] => 154
[function] => call_user_func_array
)

[7] => Array
(
[function] => WPML\FP\{closure}
[class] => WPML\TM\API\Jobs
[type] => ::
)

[8] => Array
(
[file] => /www/public/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/collect/src/Illuminate/Support/Traits/Macroable.php
[line] => 56
[function] => call_user_func_array
)

[9] => Array
(
[file] => /www/public/wp-content/plugins/sitepress-multilingual-cms/API/Jobs.php
[line] => 356
[function] => __callStatic
[class] => WPML\TM\API\Jobs
[type] => ::
)

[10] => Array
(
[function] => WPML\TM\API\{closure}
[class] => WPML\TM\API\Jobs
[type] => ::
)

[11] => Array
(
[file] => /www/public/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/fp/core/functions.php
[line] => 154
[function] => call_user_func_array
)

[12] => Array
(
[function] => WPML\FP\{closure}
)

[13] => Array
(
[file] => /www/public/wp-content/plugins/sitepress-multilingual-cms/API/Jobs.php
[line] => 359
[function] => call_user_func_array
)

[14] => Array
(
[file] => /www/public/wp-content/plugins/sitepress-multilingual-cms/API/Jobs.php
[line] => 55
[function] => getElementJob
[class] => WPML\TM\API\Jobs
[type] => ::
)

)

[11-Nov-2025 17:36:49 UTC] --> WPML gzuncompress() FAILED in FieldCompression::decompress() on line 150 <--
[11-Nov-2025 17:36:49 UTC] --> Corrupted Data Snippet (base64): SW50ZWxsaWdlbnQgTGFkZW4=...
[11-Nov-2025 17:36:49 UTC] --> Backtrace:
Array
(
[0] => Array
(
[file] => /www/public/wp-content/plugins/sitepress-multilingual-cms/classes/class-wpml-translation-job-factory.php
[line] => 431
[function] => decompress
[class] => WPML\Translation\TranslationElements\FieldCompression
[type] => ::
)

[1] => Array
(
[file] => /www/public/wp-content/plugins/sitepress-multilingual-cms/classes/class-wpml-translation-job-factory.php
[line] => 480
[function] => add_job_elements
[class] => WPML_Translation_Job_Factory
[type] => ->
)

[2] => Array
(
[file] => /www/public/wp-content/plugins/sitepress-multilingual-cms/classes/class-wpml-translation-job-factory.php
[line] => 141
[function] => complete_job_data
[class] => WPML_Translation_Job_Factory
[type] => ->
)

[3] => Array
(
[file] => /www/public/wp-content/plugins/sitepress-multilingual-cms/classes/class-wpml-translation-job-factory.php
[line] => 158
[function] => get_translation_job
[class] => WPML_Translation_Job_Factory
[type] => ->
)

[4] => Array
(
[file] => /www/public/wp-content/plugins/sitepress-multilingual-cms/API/Jobs.php
[line] => 66
[function] => get_translation_job_as_stdclass
[class] => WPML_Translation_Job_Factory
[type] => ->
)

[5] => Array
(
[function] => WPML\TM\API\{closure}
[class] => WPML\TM\API\Jobs
[type] => ::
)

[6] => Array
(
[file] => /www/public/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/fp/core/functions.php
[line] => 154
[function] => call_user_func_array
)

[7] => Array
(
[function] => WPML\FP\{closure}
[class] => WPML\TM\API\Jobs
[type] => ::
)

[8] => Array
(
[file] => /www/public/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/collect/src/Illuminate/Support/Traits/Macroable.php
[line] => 56
[function] => call_user_func_array
)

[9] => Array
(
[file] => /www/public/wp-content/plugins/sitepress-multilingual-cms/API/Jobs.php
[line] => 356
[function] => __callStatic
[class] => WPML\TM\API\Jobs
[type] => ::
)

[10] => Array
(
[function] => WPML\TM\API\{closure}
[class] => WPML\TM\API\Jobs
[type] => ::
)

[11] => Array
(
[file] => /www/public/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/fp/core/functions.php
[line] => 154
[function] => call_user_func_array
)

[12] => Array
(
[function] => WPML\FP\{closure}
)

[13] => Array
(
[file] => /www/public/wp-content/plugins/sitepress-multilingual-cms/API/Jobs.php
[line] => 359
[function] => call_user_func_array
)

[14] => Array
(
[file] => /www/public/wp-content/plugins/sitepress-multilingual-cms/API/Jobs.php
[line] => 55
[function] => getElementJob
[class] => WPML\TM\API\Jobs
[type] => ::
)

)

Es scheint, dass unkomprimierte HTML-Daten in der Datenbank gespeichert sind, wo WPML komprimierte Daten erwartet.

Vielen Dank für Ihre Unterstützung!

November 12, 2025 um 11:12 a.m. #17570042

Bruno Kos
WPML-Unterstützer seit 12/2018

Sprachen: Englisch (English ) Deutsch (Deutsch ) Französisch (Français )

Zeitzone: Europe/Zagreb (GMT+01:00)

Ich überprüfe dies mit unserem 2nd-Tier-Team und werde mich bei Ihnen melden, sobald ich Neuigkeiten oder Fragen für Sie habe.

November 12, 2025 um 2:45 p.m. #17571432

Bruno Kos
WPML-Unterstützer seit 12/2018

Sprachen: Englisch (English ) Deutsch (Deutsch ) Französisch (Français )

Zeitzone: Europe/Zagreb (GMT+01:00)

Um dieses Problem zu beheben, werde ich das Duplicator Plugin installieren, Pakete erstellen und an den 2nd Tier Support weiterleiten.
versteckter Link

Ich werde alle Mediendateien usw. ausschließen, um das Paket minimal zu halten.

https://wpml.org/faq/checklist-before-opening-a-ticket-in-wpml-support/#get-help-from-support

Lassen Sie mich wissen, ob dies für Sie in Ordnung ist.

Wenn ja, benötige ich den Benutzernamen und das Passwort für den WordPress Administrator, damit ich dies tun kann. Ich habe Ihre nächste Antwort als privat markiert, damit Sie diese Informationen sicher hinzufügen können.

https://wpml.org/purchase/support-policy/privacy-and-security-when-providing-debug-information-for-support/

Unser Second-Level-Team hat darauf hingewiesen, dass FieldCompression::decompress() normalerweise nur aufgerufen werden sollte, wenn eine neue Übersetzung angewendet wird, und nicht bei jedem Seitenaufruf – insbesondere nicht auf Frontend-Seiten.

Um das Problem gezielter untersuchen zu können, könnten Sie uns bitte mitteilen, ob es bestimmte Schritte zur Reproduktion gibt? Tritt das Verhalten zum Beispiel auf, wenn jemand Übersetzungen erstellt oder bearbeitet, oder unter bestimmten Bedingungen auf der Website?

November 13, 2025 um 12:23 p.m. #17574761

Bruno Kos
WPML-Unterstützer seit 12/2018

Sprachen: Englisch (English ) Deutsch (Deutsch ) Französisch (Français )

Zeitzone: Europe/Zagreb (GMT+01:00)

Sie können meine vorherige Nachricht vorerst ignorieren (wir brauchen das möglicherweise gar nicht).

Können Sie dies jedoch ausprobieren und diese Lösung auf Ihre Website anwenden? Tritt das Problem danach weiterhin auf?
https://wpml.org/errata/possible-performance-issue-highlighted-by-unexpected-calls-to-gzuncompress/