Navigation überspringen

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 1 Antwort, hat 0 Stimmen.

Zuletzt aktualisiert von Marcel Vor 4 Tage, 18 Stunden.

Verfasser Beiträge
Januar 7, 2025 unter 4:51 pm #16570825

MG

Hintergrund des Themas:
Ich versuche, die Webseite im Frontend aufzurufen. Der Code

defaultPathPHP = str_replace( '.mo', '.l10n.php', $defaultPathFile );

in der wp-content/plugins/wpml-string-translation/classes/MO/Hooks/LoadTranslationFile.php verändert fälschlicherweise den Pfad, wenn darin .mo vorkommt.

Die Symptome:
Der Pfad wird zerstört, wenn .mo darin vorkommt. Beispielsweise: Got error 'LoadTextDomain.php on line 173; PHP message: PHP Warning: file_exists(): open_basedir restriction in effect. File(/var/www/vhosts/dev.l10n.phpbile/httpdocs/wp-content/languages/wpml/acf-post-type-labels-job-de_CH.l10n.php) is not within the allowed path(s). Dabei wurde der Ordner dev.mobile fälschlicherweise zu dev.l10n.phpbile verändert. Dieselbe Schwachstelle existiert ebenfalls in der wp-content/plugins/wpml-string-translation/classes/MO/Hooks/LoadTextDomain.php.

Fragen:
Ich habe den Fehler in diesen Dateien behoben, indem ich explizit die Erweiterung prüfe:

if (str_ends_with($defaultPathPHP, '.mo')) {
	$defaultPathPHP = substr($defaultPathPHP, 0, -3) . 'l10n.php';
}

Können Sie diesen Fehler bestätigen und bitte korrigieren?

Januar 7, 2025 unter 5:06 pm #16570929

Marcel
Supporter

Sprachen: Englisch (English ) Deutsch (Deutsch )

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

Hallo,

bevor Ihr Ticket einem meiner Kollegen zugewiesen wird, lassen Sie mich Sie durch einige erste Schritte zur Fehlerbehebung führen. Dies wird dazu beitragen, den Support-Prozess zu beschleunigen.

Das Problem wurde bereits mit der Version String Translation 3.2.18 behoben. Falls das Update bei Ihnen noch nicht verfügbar ist, können Sie die Verbindung zum Update-Server manuell erzwingen. Gehen Sie dazu im WordPress-Dashboard zu Plugins → Alle Plugins, wechseln Sie zum Tab Commercial, und klicken Sie dort auf den entsprechenden Button.

Bitte beachten Sie, dass wir Updates schrittweise ausrollen. Es kann daher sein, dass Ihre Website das Update noch nicht anzeigt.

Viele Grüße
Marcel