Navigation überspringen

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

Problem:
Der Kunde berichtete von kritischen Fehlern nach der Installation einiger Plugins, einschließlich WP Rocket, Borlabs Cookie und RankMath. Die Fehlermeldungen deuteten auf Probleme mit dem WPML Sticky Links Plugin hin, insbesondere auf veraltete PHP-Methoden und einen fatalen Fehler, der durch eine Typinkompatibilität bei der Verwendung von

array_key_exists()

verursacht wurde.

Lösung:
Wir haben festgestellt, dass die URL-Weiterleitungen korrigiert werden müssen, um 301-Redirects zu vermeiden. Die URLs sollten entsprechend aktualisiert werden, um direkt auf die korrekten Seiten zu verweisen, ohne eine Weiterleitung auszulösen.

Wenn Sie ähnliche Probleme haben, empfehlen wir Ihnen, das

WP_MEMORY_LIMIT

zu erhöhen und die URL-Weiterleitungen zu überprüfen. Beachten Sie jedoch, dass diese Lösung veraltet oder für Ihren Fall irrelevant sein könnte. Wir empfehlen Ihnen, die bekannten Probleme 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. Sollte das Problem weiterhin bestehen, zögern Sie nicht, ein neues Support-Ticket zu öffnen.

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 7 Antworten, hat 2 Stimmen.

Zuletzt aktualisiert von Marcel Vor 10 Monaten.

Assistiert von: Marcel.

Verfasser Beiträge
März 4, 2024 unter 3:54 pm #15371099

joerg-klausF

2. Seite war fertig, jetzt wollte ich noch ein paar Plugins wie WP Rocket, Borlabs Cookie, RankMath etc. installieren.

Es kam immer wieder die Fehlermeldung:
Es gab einen kritischen Fehler auf deiner Website.
Erfahre mehr über die Problembehandlung in WordPress.

Ich konnte kein Plugin installieren, bei einem hätte ich noch gedacht, es liegt am Hersteller, aber bei allen?

Also wieder ein paar Stunden Fehlersuche und Recherche, es war euer WPML Sticky Links Plugin.

Folgenden Fehler gibt das Plugin:

Deprecated: Automatic conversion of false to array is deprecated in /home/jkf031/kautz-trier-wp/wp-content/plugins/wpml-sticky-links/classes/class-wpml-sticky-links.php on line 19

Deprecated: Creation of dynamic property wpml_cms_nav_cache::$name is deprecated in /home/jkf031/kautz-trier-wp/wp-content/plugins/wpml-cms-nav/inc/cache.class.php on line 36

Deprecated: Creation of dynamic property wpml_cms_nav_cache::$cache_to_option is deprecated in /home/jkf031/kautz-trier-wp/wp-content/plugins/wpml-cms-nav/inc/cache.class.php on line 37

Fatal error: Uncaught TypeError: array_key_exists(): Argument #2 ($array) must be of type array, false given in /home/jkf031/kautz-trier-wp/wp-content/plugins/wpml-sticky-links/classes/custom-fields.php:169 Stack trace: #0 /home/jkf031/kautz-trier-wp/wp-content/plugins/wpml-sticky-links/classes/custom-fields.php(169): array_key_exists() #1 /home/jkf031/kautz-trier-wp/wp-content/plugins/wpml-sticky-links/classes/custom-fields.php(83): WPMLSLCustomFields->getSettings() #2 /home/jkf031/kautz-trier-wp/wp-includes/class-wp-hook.php(324): WPMLSLCustomFields->convertUrlsInCustomField() #3 /home/jkf031/kautz-trier-wp/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters() #4 /home/jkf031/kautz-trier-wp/wp-includes/plugin.php(517): WP_Hook->do_action() #5 /home/jkf031/kautz-trier-wp/wp-includes/meta.php(156): do_action() #6 /home/jkf031/kautz-trier-wp/wp-includes/meta.php(252): add_metadata() #7 /home/jkf031/kautz-trier-wp/wp-includes/post.php(2558): update_metadata() #8 /home/jkf031/kautz-trier-wp/wp-includes/post.php(807): update_post_meta() #9 /home/jkf031/kautz-trier-wp/wp-includes/post.php(4600): update_attached_file() #10 /home/jkf031/kautz-trier-wp/wp-includes/post.php(6227): wp_insert_post() #11 /home/jkf031/kautz-trier-wp/wp-admin/includes/class-file-upload-upgrader.php(110): wp_insert_attachment() #12 /home/jkf031/kautz-trier-wp/wp-admin/update.php(161): File_Upload_Upgrader->__construct() #13 /home/jkf031/kautz-trier-wp/wp-admin/network/update.php(17): require('...') #14 {main} thrown in /home/jkf031/kautz-trier-wp/wp-content/plugins/wpml-sticky-links/classes/custom-fields.php on line 169
Es gab einen kritischen Fehler auf deiner Website.

Was sind das für 2 Fehler? Die Einblendung dieser mo files Fenster nervt und macht die Arbeit sehr schwer.

Das Plugin, brauche ich das, aber es müsste ja trotzdem laufen?

Danke und Viele Grüße
Joerg

P.S.: Mir wäre es lieb, wenn wir es ohne Zugriff auf die Seite hinbekämen, denn die Seite läuft, ich habe keine Staging-Seite, wenn jetzt alles zerschossen wird, wäre das nicht schön.
Wenn es nicht anders geht, klar, dann richte ich einen Zugang ein.

März 4, 2024 unter 4:10 pm #15371156

Marcel
Supporter

Sprachen: Englisch (English ) Deutsch (Deutsch )

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

Hallo,

Bitte beachten Sie hierfür dieses Ticket: https://wpml.org/forums/topic/php-8-1-error-7-4-is-end-off-life-so-why-is-8-not-fully-supported/#post-12631589.

Das Plugin, brauche ich das, aber es müsste ja trotzdem laufen?

Da Sie gefragt haben, ob Sie das "Sticky Link" Plugin benötigen: Wenn Sie diese Frage stellen, scheint es, als ob Sie das Plugin installiert haben, weil Sie dachten, es wäre notwendig. Es ist jedoch nicht zwingend notwendig für WPML, nur ein Add-On für eine eher spezielle Anforderung abzudecken, siehe https://wpml.org/de/documentation-3/ratgeber-zum-loslegen/sticky-links/.

Wenn Sie einen Link erstellen, macht WPML diesen automatisch zu einem Sticky-Link. Statt die URL der Seite zu speichern (zum Zeitpunkt der Erstellung des Links), speichert es die Seitennummer. Diese kann sich nie ändern, egal, was Sie tun.

Es ist also nur für Sie notwendig, wenn Sie diese spezielle Funktion benötigen, um z.B.: 404 Fehler in internen Links zu umgehen. Wenn Sie diese Funktionalität also nicht benötigen, können Sie es das Add-On deaktivieren.

Viele Grüße
Marcel

März 4, 2024 unter 8:23 pm #15371954

joerg-klausF

Hallo Marcel,

ich komme mit WPML irgendwie nicht klar, also im Sinne von ich kapier nicht, warum es nicht bei einer gleichen Seite genau so funktoniert wie bei der ersten Seite.

Hat das mit dem Sticky Link Plugin zu tun?

Auf der ersten Seite von der Multisite, die läuft ja jetzt, klicke ich auf eine Seite, dann auf eine Unterseite und die Verlinkung funktioniert super in jeder Sprache.

Auf der zweiten Seite kicke ich auf die eine gleiche Seite, dann klicke ich auf die eine geleiche Unterseite und es wird immer die DE-Seite geladen, auch wenn ich auf der DE oder FR Seite bin.

Viele Grüße
Joerg

März 5, 2024 unter 10:27 am #15373603

Marcel
Supporter

Sprachen: Englisch (English ) Deutsch (Deutsch )

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

Hallo Joerg,

das kann ich ohne weitere Details so nicht beantworten. Soweit ich lt. Debug Info sehe, betreiben Sie WPML unter den Mindestvoraussetzungen, zudem gibt es kaum Erfahrung mit der Greyd Suite.

#1 Könnten Sie bitte das WP-Speicherlimit erhöhen? Fügen dazu diesen Code in die wp-config.php ein, um den WP-Speicher zu erhöhen:

define('WP_MEMORY_LIMIT', '256M'); 

Fügen es kurz vor "That's all, stop editing! Happy blogging." ein.

Weitere Informationen findest du hier: https://wpml.org/home/minimum-requirements/
Hinweis: WPML benötigt ein WP-Speicherlimit von mindestens 128MB alleine. Dies bedeutet mit einem Standard-Theme und ohne weitere installierten Plugins.

#2 Beschreibe bitte, wie exakt ich das Problem nachstellen kann. Tritt es mit dem höheren Speicher weiterhin auf? Was wird als URL-Ziel korrekt dargesellt (vor einem Klick)? Ist es bereits falsch hinterlegt oder wird ein Redirect ausgelöst?

#3 Kann es auf einer Testinstallation ebenso mit einem Standard Theme wie TwentyTwenty-One nachgestellt werden?

Viele Grüße
Marcel

März 5, 2024 unter 12:49 pm #15374547

joerg-klausF

Hallo Marcel,

#1 also das WP_MEMORY_LIMIT liegt doch serverseitig bei 1024M. Daran kann es nicht liegen.

#2 Auf dieser Seite funktioniert es:
Öffne versteckter Link , dann EN oder FR auswählen, ich habe für das Beispiel EN gewählt, dann klickst du auf den Pfeil bei MODUL-K-SYSTEM (gleich der erste Link) und du kommst auf die Seite versteckter Link .

Domain 2, also kautz-lux.com, ist die gleiche Seite wie bei Domain 1, da es eine Seite aus der Multisite ist:
Öffne versteckter Link , dann wieder auf EN klicken, dann wieder auf den Pfeil bei MODUL-K-SYSTEM klicken und DANN KOMMT DIE DEUTSCHE SEITE VON DER SEITE anstatt die EN, diese müsste eigentlich zu sehen sein: versteckter Link

#das müsste ich dann erst alles aufbauen.

Viele Grüße
Joerg

Screenshot 2024-03-05 at 13.34.49.png
März 5, 2024 unter 1:23 pm #15374691

Marcel
Supporter

Sprachen: Englisch (English ) Deutsch (Deutsch )

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

Hallo,

#1 also das WP_MEMORY_LIMIT liegt doch serverseitig bei 1024M. Daran kann es nicht liegen.

Nein, das sind 2 unterschiedliche Werte. Und der #1 Fehler beim WP konfigurieren :). Es ist ein "memory_limit" von 1024MB in der php.ini definiert. Das WP_MEMORY_LIMIT steuert, wie viel WordPress davon aliquot vom gesamten PHP Speicher verwenden darf, und dies ist aktuell auf 64MB limitiert. Der aktuelle Verbrauch ist unter WPML -> Support ersichtlich. Bei spezialisierten WordPress Hostern hat man meistens mind. 256MB für WP gesetzt.

Weitere Infos findest du dazu hier: https://wordpress.stackexchange.com/questions/131179/php-memory-limit-vs-wp-memory-limit.

Zum Link:

Es ist im Original folgende URL (siehe Chrome Dev Tools) hinterlegt:
versteckter Link. Dies leitet via 301 um:

$ curl -Ils <em><u>versteckter Link</u></em>
HTTP/2 301
date: Tue, 05 Mar 2024 13:09:56 GMT
server: Apache
x-redirect-by: WordPress
set-cookie: PHPSESSID=1f9su5jitk9riu4g2qp4n0qqqp; expires=Tue, 10 May 2078 02:19:52 GMT; Max-Age=1709730596; path=/
location: <em><u>versteckter Link</u></em>

Die URL sollte auf /en/low-voltage-switchgear-modul-k-system/ gesetzt werden, dann wird kein Redirect ausgelöst.

Bei der ersten Domain ist versteckter Link hinterlegt und es wird ebenso via 301 auf versteckter Link umgeleitet.

$ curl -Ils <em><u>versteckter Link</u></em>
HTTP/2 301
date: Tue, 05 Mar 2024 13:18:13 GMT
server: Apache
pragma: no-cache
x-redirect-by: WordPress
set-cookie: PHPSESSID=7t610d8mh2hchv8qj77a06k4nh; expires=Tue, 10 May 2078 02:36:26 GMT; Max-Age=1709731093; path=/
location: <em><u>versteckter Link</u></em>

Viele Grüße
Marcel

März 8, 2024 unter 7:31 am #15387370

joerg-klausF

Hallo Marcel, bevor das Ticket geschlossen wird, bin schon erinnert worden, ich bin da noch dran.

Viele Grüße
Joerg

März 8, 2024 unter 8:58 am #15387698

Marcel
Supporter

Sprachen: Englisch (English ) Deutsch (Deutsch )

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

Hallo Joerg,

danke für die Info, geht in Ordnung.

Viele Grüße
Marcel