Hur du fixar WordPress 500 Internt serverfel

Hur du fixar ett WordPress 500 internt serverfel

De flesta av oss, antingen utvecklare, designers eller till och med slutanvändare har tålt minst en under vår livstid. Det vill säga den smärtsamma processen att få ett internt serverfel och försöka fixa det. Många bryr sig inte om att veta mer – de vill bara fixa det. Men om du inte försöker åtminstone förstå det, kommer du ofta att drabbas av detta öde. 500 interna serverfel är mycket viktigt eftersom det helt stoppar alla processer och kan föra ner hela webbplatsen. Så om vi någonsin vill bli av med det måste vi bättre förstå vad det innebär först.


I den här artikeln kommer jag att täcka grunderna för vad detta fel innebär, hur kan du identifiera problemet och naturligtvis hur du åtgärdar det. Men innan jag börjar vill jag gå igenom de olika http-webbplatsfel som finns och vad de potentiellt kan betyda. Om du föredrar kan du hoppa ner till hur du åtgärdar ditt WordPress 500-fel.

Vanliga HTTP-status- och felkoder

Första saker först – jag ska förklara vad dessa fel verkligen betyder. Det finns för närvarande en lista med status och fel för HTTP som kan nås för att bättre felsöka en situation. Dessa fel är vanligtvis uppdelade i typer. Så för att förkorta denna fråga täcker vi de viktigaste fel och informationskoder som du hittar när du arbetar med din WordPress-webbplats.

100x svar (status)

Denna typ av svar ges direkt av webbservern. Beroende på ditt värdföretag kan svaret ges antingen av Apache, nginx eller någon annan webbserver som företaget använder. Den här typen av svar är inte associerad med fel. De används vanligtvis för att indikera att en anslutning är på plats. Det är statuskod för anslutningar.

200x svar (framgång)

De framgångsrika är vad jag kallar dem. Denna typ av svar indikerar alltid a Framgång. Det betyder att antingen servern har framgångsrikt anslutit till dig, att resurserna anges korrekt eller att en proxy-anslutning har gjorts.

Den vanligaste framgångsrika koden kallas 200 OK. Du kan se exempel på detta om du använder ett WordPress-hastighetstestverktyg, säg på Pingdom Tools och du försöker ta reda på FTTB (Första gången till byte). 200 OK-svaret ges alltid till den första begäran.

300x svar (omdirigeringar)

Omdirigeringarna. Dessa koder hänvisas alltid om den givna länken går in i en omdirigering. 300 statuskoder indikerar en framgångsrik omdirigering och är också, inte betraktas som ett fel.

Säg att du har en SSL (HTTPS) -sida och att du också har direkt tillgång till HTTP (icke-säkrat) och att du vill omdirigera alla till HTTPS-versionen av din webbplats. Du kan skapa en omdirigering för alla förfrågningar som kommer från HTTP för att gå till HTTPS. Om du av misstag försöker komma in på din webbplats via HTTP får din webbläsare ett 300-svar som indikerar en omdirigering till HTTPS-versionen.

Enkla WooCommerce-tips: Yoast SEO-omdirigeringar för slutförda produkter

Ett annat vanligt exempel som du känner till är omdirigeringar på plats för SEO. Du har kanske tagit bort gamla inlägg eller sidor. Med hjälp av ett plugin som Yoast SEO Du kan 301 omdirigera dessa till nyare, mer relevanta sidor. Eller använd en 307 tillfällig omdirigering om du arbetar med en uppdatering och vill leda användare till en annan sida för lite.

400x svar (klientfel)

De berömda klienten fel. Dessa typer av fel innebär problem i din webbläsare. Vanligtvis kan den inte ladda en viss tillgång (det mest kända är 404-felet). Dessa är felkoder som inte anses vara allvarliga.

Samma fel kan visas om du försöker komma åt en icke-existerande bild på din webbplats. Till exempel kanske du vill använda en 410-omdirigering för att berätta för sökmotorer att innehåll har tagits bort permanent, eller en 451 om du har gjort en sida otillgänglig av juridiska skäl (till exempel en DMCA-begäran).

500x svar (serverfel)

Och nu har vi nått vår huvudsakliga huvudperson. De 500 felen. Som ni ser är detta viktiga fel och är alltid relaterade till själva servern. Serverfel är viktiga eftersom de effektivt kan krascha din hemsida. Av dessa fel är de viktigaste:

  • En 503-tjänst inte tillgänglig
  • Ett 502 dåligt gateway-fel
  • Ett 500 internt serverfel

Låt oss utforska de tre av dem efter viktigt ordning.

503 Tjänst Otillgänglig

Minst allvarlig är 503-tjänsten inte tillgänglig. Om det här felet dyker upp har du ett resursproblem på webbservern. Nästan hela tiden dyker upp när din server är överbelastad. Vanligtvis, om du ser detta fel, vet du det det är tillfälligt och det är direkt relaterat till För mycket trafik och det här är överbelastning av CPU. När CPU och webbservern själv inte kan behandla fler inkommande anslutningar eftersom den har nått 100% CPU-användning ser du detta fel popup.

Du kan fixa detta genom att antingen byta till en bättre webbserver (från Apache till Nginx till exempel) eller genom att implementera ett WordPress-cache-plugin på din webbplats.

502 Bad Gateway

Det här är vad jag kallade felkonfigurationsfelet. Detta fel visas inte utan anledning. Om du någonsin har gjort det här felet är den mest troliga orsaken det du gjorde något och du gjorde det fel. Detta händer vanligtvis när folk försöker finjustera Apache- och PHP-konfiguration eller när de försöker optimera nginx. Den dåliga gatewayen är ett fel som nästan alltid händer när PHP FPM (Fast Process Manager) tappar anslutningen. Antingen från att justera fel inställningar eller för att processen kraschade. Detta får webservern att svara med en dålig gateway.

Det enklaste sättet att fixa detta fel är att dubbelkontrollera din PHP-FPM-konfiguration eftersom det är den mest troliga orsaken till detta fel. Detta händer oftare på Nginx-sidan än på Apache och händer nästan aldrig på värdtjänster som tillhandahålls av cPanel eller Plesk. De två sista panelerna har skydd för att förhindra felkonfigurering. Men det händer mycket ofta när du hanterar din egen VPS.

Letar du efter mer hjälp med den här? Följ vår guide om hur du fixar ett 502 dåligt gateway-fel.

500 Internt serverfel

Den stora dåliga pojken av fel. Det 500 interna serverfelet är det värsta av dem alla, främst eftersom det är en sådan generellt fel. Om du inte har tillräcklig kunskap om hur du ska hantera det kan det vara en verklig smärta eftersom det kan få hela din webbplats ner. Det 502 dåliga gatewayfelet kastar också din webbplats men det är lättare att diagnostisera och fixa. Som nämnts är det nästan alltid relaterat till FPM-konfigurationen.

Anledningar till ett 500 internt serverfel och hur man fixar dem

Den första saken att förstå om ett 500-fel är att det kan orsakas av ett antal olika faktorer som nästan alltid är relaterade till fel i kodutförandet. Istället för att försöka diagnostisera allt på en gång ger jag dig en lista över fel efter typ av problem och vad du gjorde.

  • Genom att migrera en äldre webbplats till en nyare värd
  • Ett fel i .htaccess i en apache-konfiguration
  • Ett fel i exekvering av PHP-kod

Det finns andra mindre vanliga fall som kan kasta ett 500 internt serverfel men för enkelhetens och användbarheten i den här artikeln kommer jag att fokusera på dessa tre.

1. Migrera en äldre webbplats till nyare värd

Det finns flera sätt på vilket detta fel kan dyka upp men verkar nästan alltid relaterat till PHP-versionen som är bunden till din webbserver. Nyare PHP-versioner kan generera ett omedelbart 500 internt serverfel om den aktuella webbplatsen eller plugins inte stöder den aktuella versionen.

Det här felet är till exempel klassiskt när du migrerar din webbplats från en medioker värd med en äldre PHP-version till en nyare värd som bara accepterar de nyare versionerna (7.0 och uppåt). Om din webbplats inte uppdaterades nyligen kan ett gammalt plugin orsaka problem. Jag kallar detta ”migreringsintern serverfel” eftersom det nästan alltid händer när du migrerar en webbplats.

Lösning

Det bästa sättet att fixa detta fruktansvärda fel när du försöker så hårt att migrera din WordPress-webbplats till ny värd är att göra en komplett kopia av din plugins och temat för din webbplats. Efter att ha gjort detta, snälla, ta bort alla plugins från din webbplats och försök igen. Om felet försvinner är det nästan garanterat att felet genererades av en nyare version av PHP på din webbhotell som bara helt enkelt vägrar att köra kod på din äldre plugin. Genom att ladda upp ett plugin åt gången kan du enkelt ta reda på vilken som orsakade problemet.

Dessa fel presenteras nästan alltid när de migrerar äldre webbplatser som körs på PHP 5.4 och 5.6 till en nyare värd med PHP 7.0, 7.1 eller 7.2.

Samma sak gäller ditt tema. Eftersom teman kan och implementera extra PHP-kod i features.php, single och page.php filer. Det är troligt att ett äldre tema utan uppdateringar kan bryta din webbplats när den har migrerats till en värd med en nyare version av PHP. Denna situation är olycklig eftersom det enda sättet att fixa detta är att ändra temat och bygga om din webbplats. Detta är sämre fallet.

2. .htaccess Apache-konfigurationsfel

Låt oss säga att du konfigurerade ett plugin och plötsligt kraschar allt. Om du får ett 500 internt serverfel när du konfigurerar, till exempel ett cache-plugin eller någon plugin relaterad till optimeringar, måste du kontrollera om plugin-programmet har lagt till extra kod till din .htaccess-fil.

Eftersom apache kan ändras i realtid genom att konfigurera funktionerna i .htaccess-filen (som nästan alltid är dold) kan en dålig konfiguration bryta din webbplats.

Lösning

Sättet att fixa det är genom att antingen komma åt din webbplats via FTP och ändra din .htaccess-fil eller genom direkt redigering, säg med filutforskaren på cPanel eller Plesk.

Om du inte vet hur du ska återställa vad plugin har gjort och du behöver din webbplats igen, gör du en kopia av det befintliga innehållet som textfil. Spara detta som din säkerhetskopia. Byt sedan ut hela .htaccess med följande kod:

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^ index \ .php $ - [L]
RewriteCond% {REQUEST_FILENAME}! -F
RewriteCond% {REQUEST_FILENAME}! -D
Omskriva regel. /index.php [L]

# END WordPress

Det här är standard WordPress .htaccess fil. Det bör fungera med alla webbplatser. Så om du är desperat och inte vet vilken del du vill ta bort tar du bara bort allt och klistrar in den här koden. Det sparar dig direkt. Du kan senare ta bort plugin-programmet eller försöka konfigurera det igen. Du vet nu ett sätt att rädda dig från detta katastrofala fel. Åtminstone om det är .htaccess relaterat.

Om du inte vet om det är .htaccess-relaterat, eller om det här felet började dyka upp utan att du rör vid några plugins, spela det säkert. Kopiera bara innehållet i din .htaccess och kopiera koden ovan för att försöka diagnostisera. Om detta inte fixar det, lämna .htaccess som det är och försök sedan nästa förslag.

3. PHP-kod exekveringsfel

Dessa typer av fel är vanligare än du tror och de händer vanligtvis om en plugin kör ogiltig kod. Det vanligaste sättet att köra ogiltig kod är när du försöker utföra utdaterade instruktioner. Du kanske försöker köra ett gammalt plugin som bara var utformat för att fungera med upp till PHP 5.4 eller 5.6 med PHP 7.0 eller nyare versioner. Avskrivna och ogiltiga funktioner skapar ett internt serverfel som bara kan diagnostiseras av aktivera WP-felsökningsläge.

Aktivera wp_debug

WordPress-felsökningsläget ger dig omfattande detaljer om felet som kastades som stoppade körningen. Hur vi aktiverar det är genom att ändra värdet från “Falskt” till “sant” på wp_debug inuti filen wp-config.php i rotmappen på din webbplats.

Om du använder Plesk eller cPanel kan du göra det genom att bara ändra det värdet med File Explorer och redigera wp-config.php. Du kan också följa detta felsökningsguide av Blogvault för mer detaljerade steg.

När filen har redigerats kan du se det faktiska fel som skapades som stoppade körningen. Felet anger också sökvägen och filen där detta hände, så det är lätt att gissa vilken plugin orsakade det. Förbi inaktivera det vi kan hoppa över felet och senare uppdatera plugin-programmet eller ta bort det, beroende på situationen.

Lösning

De allra flesta fall av ett 500 internt serverfel innebär äldre temaversioner eller plugins. Genom att byta ditt tema till något standard WP-tema kommer du att kunna få åtkomst till din webbplats. Om du inaktiverar de motstridiga pluginsna kommer du också att få åtkomst till instrumentpanelen. Om du råkar stöta på en situation där ditt tema är det som ansvarar för att bryta webbplatsen, är det bästa sättet att fixa det genom att skapa en zip-fil med nämnda tema från temamappen wp-innehåll / teman / yourtheme sedan ta bort den från din webbplats. Detta tar bort felet så att du kan få åtkomst till din webbplats igen. Du kan sedan ladda upp det igen och uppdatera det utan att aktivera det. Du kan göra samma sak med plugins.

De vanligaste situationerna för 500 interna serverfel kan fixas genom att uppdatera. I de fall där nämnda plugin / tema inte har en uppdatering tillgänglig kan du prova att byta till en äldre PHP-version. Men vet att det här är en kortlivad lösning. Nyare versioner av PHP blir stabila och äldre versioner avskrivs regelbundet. Förr eller senare din webbplats kommer definitivt att sluta fungera. Det bästa sättet kommer alltid att vara att uppdatera eller ta bort / ersätta de ifrågavarande pluginsna.

Kom alltid ihåg att det är bättre att förebygga och uppdatera än att försöka göra skadestyrning senare.

Inpackning av vår guide till WordPress 500 interna serverfel

Ett WordPress 500 internt serverfel kan vara en verklig smärta. Men i de flesta fall kan de enkelt diagnostiseras och fixas genom att helt enkelt ta bort / uppdatera de motstridiga delarna av din webbplats. Även om det kan finnas situationer där dessa fel presenteras utanför normen (till exempel när du utvecklar ett plugin), går det utöver syftet med denna artikel.

För de allra flesta människor bör följa ovanstående råd lösa ditt problem. Kom ihåg att wp-debug är din bästa vän och följ alltid stegen noga. Du kommer att ha din webbplats tillbaka på nolltid.

Har du några andra frågor? Eller tips för att hantera ett WordPress 500 internt serverfel? Låt mig veta!

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map