Det har uppstått ett kritiskt fel på denna webbplats | November 2, 2022
Inget är värre än att se din WordPress-webbplats ligga nere. Jag har varit med om det och vet hur det känns. Så idag, när jag gjorde min rutin, kollade jag en av mina webbplatser och BAM: ”Det har uppstått ett kritiskt fel på den här webbplatsen”.
Den första instinkten, då jag visste att WordPress-versionen automatiskt uppdaterades till 6.1 ”Misha”-versionen, var att nedgradera PHP från 8.1 till 8.0. Inget löst… Jag försökte att nedgradera till PHP 7.4 version… Återigen, ingenting hände. Felet fanns fortfarande kvar och webbplatsen var fortfarande nere.
Så jag börjar undersöka frågan. Jag aktiverade ”WordPress debug”-läget och hittade det här meddelandet:
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å om du får meddelandet ”Det har uppstått ett kritiskt fel på den här webbplatsen”. WordPress-fel nuförtiden och du använder WPML-pluginet, beror det på den senaste uppdateringen av WordPress 6.1. Det är ett känt problem just nu och WPML:s team försöker lösa det.
Vad exakt är detta fel och hur kan jag lösa det?
Meddelandet ”Det har uppstått ett kritiskt fel på den här webbplatsen” genereras på grund av en intern konflikt mellan WPML (version 4.5.11), String Translation (3.2.2) och den senaste WordPress-versionen (6.1, ”Misha).
Så hur löser man det?
Lyckligtvis finns det några sätt att lösa detta problem:
1. Om du kan komma åt WordPress Admin dashboard, försök att uppdatera både WMPL till den senaste versionen (4.5.12) och String Translation till den senaste versionen (3.2.3). Du måste följa de steg som nämns i WPML:s officiella artikel om detta problem.
2. Om du inte kan komma åt admininstrumentpanelen, gå till din värdserver och försök återställa en säkerhetskopia som gjordes den 1 november (WordPress autoupdate till 6.1 kom i morse, den 2 november). Beroende på din hostingleverantör finns det många funktioner för säkerhetskopiering. I mitt fall använde jag JetBackup 5.
Efter det:
- Därefter inaktiverar du funktionen för automatisk uppdatering.
- göra de nödvändiga uppdateringarna. Om du inte kan uppdatera insticksprogrammet String Translation kan du helt enkelt radera det och ladda upp den nyaste versionen igen (jag har nedan lagt ut källkoden till den nya versionen).
- Uppdatera WordPress-versionen till den senaste och testa din webbplats. Allt borde fungera bra.
3. Om du inte har någon ny säkerhetskopia kan du också prova det här:
GÖR EN SÄKERHETSKOPIA INNAN DU GÖR NÅGON ÄNDRING!
- Du kan komma åt din webbplats via FTP eller via cPanel’s Site File Manager.
- Gå till wp-content/plugins/ och byt namn på mappnamnet för insticksprogrammet String Translation.
- Gör samma sak med WPML-pluginet (byt namn på mappnamnet för pluginet).
OBS: Du kan också radera plugins helt och hållet och installera om den senaste versionen av dem. MEN GÖR EN SÄKERHETSKOPIA INNAN DU GÖR DET!
Därefter hämtar du de nya plugins från den officiella källan: WPML Downloads
Din webbplats borde fungera bra just nu.