Der har været en kritisk fejl på dette websted | November 2, 2022
Intet er værre end at se dit WordPress-websted nede. Jeg har været der, jeg kender følelsen. Så i dag, mens jeg var i gang med min rutine, tjekkede jeg et af mine websteder, og BAM: “Der er sket en kritisk fejl på dette websted.”.
Det første instinkt, vel vidende at WordPress-versionen automatisk blev opdateret til 6.1 “Misha”-versionen, var at nedgradere PHP fra 8.1 til 8.0. Intet løst… Jeg prøvede at nedgradere til PHP 7.4 version… Igen skete der intet. Fejlen var der stadig, og siden var stadig nede.
Så jeg begynder at undersøge sagen. Jeg aktiverede “WordPress debug”-tilstand, og finder denne besked:
Fatal error: Uncaught Error: Call to undefined method WP_Textdomain_Registry::reset() in /public_html/wp-content/plugins/wpml-string-translation/classes/MO/Hooks/LanguageSwitch.php:139 Stack trace: #0 /public_html/wp-content/plugins/wpml-string-translation/classes/MO/Hooks/LanguageSwitch.php(119): WPML\ST\MO\Hooks\LanguageSwitch->resetTranslationAvailabilityInformation() #1 /public_html/wp-content/plugins/wpml-string-translation/classes/MO/Hooks/LanguageSwitch.php(73): WPML\ST\MO\Hooks\LanguageSwitch->changeMoObjects() #2 /public_html/wp-content/plugins/wpml-string-translation/classes/MO/Hooks/LanguageSwitch.php(48): WPML\ST\MO\Hooks\LanguageSwitch->switchToLocale() #3 /public_html/wp-includes/class-wp-hook.php(310): WPML\ST\MO\Hooks\LanguageSwitch->languageHasSwitched() #4 public_html/wp-content/plugins/wpml-string-translation/classes/MO/Hooks/LanguageSwitch.php on line 139"
Så hvis du får beskeden “Der er sket en kritisk fejl på dette websted.” WordPress-fejl i disse dage, og du bruger WPML-plugin, skyldes det den seneste WordPress 6.1-opdatering. Det er et kendt problem lige nu, og WPML’s team forsøger at løse det.
Hvad er denne fejl helt præcist, og hvordan kan jeg løse den?
“Der er opstået en kritisk fejl på dette websted.” genereres på grund af en intern konflikt mellem WPML (version 4.5.11), String Translation (3.2.2) og den seneste WordPress-version (6.1, “Misha).
Så hvordan løser man det?
Heldigvis er der et par måder at løse dette problem på:
1. Hvis du kan få adgang til WordPress Admin dashboardet, så prøv at opdatere både WMPL til den seneste version (4.5.12) og String Translation til den seneste version (3.2.3). Du skal følge de trin, der er nævnt i den officielle WPML-artikel om dette problem.
2. Hvis du ikke kan få adgang til administrationsinstrumentbrættet, skal du gå til din hosting-server og forsøge at gendanne en sikkerhedskopi, der blev lavet den 1. november (WordPress autoupdate til 6.1 ankom i morges, den 2. november). Afhængigt af din hostingudbyder er der mange backup-funktioner. I mit tilfælde brugte jeg JetBackup 5.
Derefter:
- deaktivere den automatiske opdateringsfunktion.
- foretage de nødvendige opdateringer. Hvis du ikke kan opdatere String Translation-plugin’et, skal du blot slette det og uploade den nyeste version igen (jeg har nedenfor angivet kilden, hvor du kan hente den).
- opdater WordPress-versionen til den seneste version og test dit websted. Alt burde fungere fint.
3. Hvis du ikke har en nyere sikkerhedskopi, kan du også prøve dette:
LAV EN SIKKERHEDSKOPI, FØR DU FORETAGER EN ÆNDRING!
- Få adgang til dit websted via FTP eller via cPanel’s Site File Manager.
- Gå til wp-content/plugins/ og omdøb navnet på mappen String Translation plugin-mappen.
- Gør det samme med WPML-plugin’et (omdøb plugin-mappen).
BEMÆRK: Du kan også slette alle plugins og geninstallere den nyeste version af dem. MEN LAV EN BACKUP INDEN DET!
Derefter skal du downloade de friske plugins fra den officielle kilde: WPML Downloads
Dit websted skulle være fint lige nu.