Sådan rettes WordPress 500 intern serverfejl

Sådan rettes en WordPress 500 intern serverfejl

De fleste af os, enten udviklere, designere eller endda slutbrugere har måttet udholde mindst en i vores levetid. Det vil sige den smertefulde proces med at få en intern serverfejl og forsøge at løse den. Mange mennesker er ligeglad med at vide mere – de vil bare ordne det. Men hvis du ikke prøver at i det mindste forstå det, er du bundet til at lide denne skæbne oftere. Fejlen på den interne server 500 er meget vigtig, da den helt stopper alle processer og kan bringe hele dit websted ned. Så hvis vi nogensinde ønsker at slippe af med det, er vi nødt til bedre at forstå, hvad det betyder først.


I denne artikel vil jeg dække det grundlæggende om, hvad denne fejl betyder, hvordan kan du identificere problemet, og selvfølgelig, hvordan du løser det. Men inden jeg kommer i gang, vil jeg lede dig gennem de forskellige http (site) fejl, der findes, og hvad de potentielt kunne betyde. Hvis du foretrækker det, kan du springe ned til, hvordan du løser din WordPress 500-fejl.

Almindelige HTTP-status og fejlkoder

Første ting først – Jeg vil forklare, hvad disse fejl virkelig betyder. Der er i øjeblikket en liste over status og fejl til HTTP der kan fås adgang til bedre fejlfinding af en situation. Disse fejl er normalt opdelt i typer. Så for at kortlægge denne sag, dækker vi de vigtigste fejl og informationskodekoder, du finder, mens du arbejder med dit WordPress-websted.

100x svar (status)

Denne type svar gives direkte af webserveren. Afhængigt af dit hostingfirma kan svaret gives enten af ​​Apache, nginx eller enhver anden webserver, som virksomheden bruger. Denne type svar er ikke forbundet med fejl. De bruges generelt til at indikere, at en forbindelse er på plads. Det er status-responskoder til forbindelser.

200x svar (succes)

De succesrige er, hvad jeg kalder dem. Denne type respons indikerer altid a succes. Det betyder, at enten serveren har oprettet forbindelsen til dig, at de anmodede ressourcer blev givet korrekt, eller at der er oprettet en proxy-forbindelse.

Den mest almindelige succesrige kode er kendt som 200 OK. Du kan se eksempler på dette, hvis du bruger et WordPress-hastighedstestværktøj, siger om Pingdom-værktøjer, og du prøver på at finde ud af FTTB (Første gang til byte). 200 OK-svaret gives altid til den første anmodning, der fremsættes.

300x svar (omdirigeringer)

Omdirigering fyre. Disse koder henvises altid, hvis det givne link går i en omdirigering. 300 statuskoder angiver en vellykket omdirigering og er også, betragtes ikke som en fejl.

Lad os sige, at du har et SSL-websted (HTTPS), og at du også har direkte adgang til HTTP (ikke-sikret), og at du vil omdirigere alle til HTTPS-versionen af ​​dit websted. Du kan oprette en omdirigering for alle anmodninger fra HTTP om at gå til HTTPS. Hvis du ved et uheld prøver at indtaste dit websted med HTTP, får din browser et 300-svar, der indikerer en omdirigering til HTTPS-versionen.

Enkle WooCommerce-tip: Yoast SEO-omdirigeringer til produkter, der ikke er på lager

Et andet almindeligt eksempel, du måske er bekendt med, er omdirigeringer på stedet til SEO. Måske har du fjernet gamle indlæg eller sider. Ved hjælp af et plugin som f.eks Yoast SEO Du kan 301 omdirigere disse til nyere, mere relevante sider. Eller brug en 307 midlertidig omdirigering, hvis du arbejder på en opdatering og vil henvise brugere til en anden side lidt.

400x svar (klientfejl)

De berømte klientfejl. Disse typer fejl involverer problemer i din browser. Det er typisk ikke i stand til at indlæse et bestemt aktiv (den mest almindeligt kendte er 404-fejlen). Disse er fejlkoder, der ikke betragtes som alvorlige.

Den samme fejl kan vises, hvis du prøver at få adgang til et ikke-eksisterende billede på dit websted. For eksempel kan du bruge en 410-omdirigering til at fortælle søgemaskiner, at indholdet er blevet fjernet permanent, eller en 451, hvis du har gjort en side utilgængelig af juridiske grunde (f.eks. En DMCA-anmodning).

500x respons (serverfejl)

Og nu er vi nået til vores hovedperson. De 500 fejl. Som du kan se, er dette vigtige fejl og er altid relateret til selve serveren. Serverfejl er vigtige, fordi de effektivt kan krak din hjemmeside. Af disse fejl er de vigtigste:

  • En 503-service er ikke tilgængelig
  • En 502 dårlig gateway-fejl
  • En 500 intern serverfejl

Lad os udforske de 3 af dem efter rækkefølge af betydning.

503 Service ikke tilgængelig

Den mindst alvorlige er 503-tjenesten ikke tilgængelig. Hvis denne fejl vises, har du et ressourceproblem på webserveren. Næsten hele tiden vises det hvornår din server er overbelastet. Almindeligt, hvis du ser denne fejl, skal du vide det det er midlertidigt og det er direkte relateret til for meget trafik og dette er overbelastning af CPU. Hver gang CPU’en og selve webserveren ikke kan behandle flere indgående forbindelser, fordi den har nået en 100% CPU-anvendelse, vil du se denne fejl popup.

Du kan ordne dette ved enten at skifte til en bedre webserver (fra Apache til Nginx for eksempel) eller ved at implementere et WordPress cache-plugin på dit websted.

502 Bad Gateway

Dette kaldes for fejlkonfiguration. Denne fejl vises ikke uden grund. Hvis du nogensinde har denne fejl, er den mest sandsynlige årsag den du gjorde noget, og du gjorde det forkert. Dette sker normalt, når folk forsøger at finpudse Apache- og PHP-konfiguration, eller når de prøver at optimere nginx. Den dårlige gateway er en fejl, der næsten altid sker, når PHP FPM (Fast Process Manager) mister forbindelsen. Enten fra finjustering af de forkerte indstillinger, eller fordi processen styrtede ned. Dette får webserveren til at svare med en Bad Gateway.

Den nemmeste måde at løse denne fejl er at dobbelttjekke din PHP-FPM-konfiguration, da det er den mest sandsynlige årsag til denne fejl. Dette sker oftere på Nginx-siden end på Apache og sker næsten aldrig på hosting-tjenester, der leveres af cPanel eller Plesk. Disse to sidste paneler har sikkerhedsforanstaltninger på plads for at forhindre en fejlkonfigurationsfejl. Men det sker meget ofte, når du administrerer din egen VPS.

Leder du efter mere hjælp til denne? Følg vores vejledning til, hvordan du løser en 502 dårlig gateway-fejl.

500 Intern serverfejl

Den store dårlige dreng af fejl. Den 500 interne serverfejl er den værste af dem alle, primært fordi den er sådan generel fejl. Hvis du ikke har tilstrækkelig viden om, hvordan du håndterer det, kan det være en rigtig smerte, da det kan bringe hele dit websted ned. Den 502 dårlige gateway-fejl kaster også dit websted, men det er lettere at diagnosticere og rette. Som nævnt er det næsten altid relateret til FPM-konfigurationen.

Årsager til en 500 intern serverfejl og hvordan fikser man dem

Den første ting at forstå omkring en 500-fejl er, at den kan være forårsaget af en række forskellige faktorer, der næsten altid er relateret til fejl i kodeudførelsen. I stedet for at prøve at diagnosticere alt på én gang, giver jeg dig en liste over fejl efter type problem og hvad du gjorde.

  • Ved at migrere et ældre websted til et nyere hosting
  • En fejl i .htaccess i en apache-konfiguration
  • En fejl i udførelsen af ​​PHP-kode

Der er andre mindre almindelige tilfælde, der kan smide en 500 intern serverfejl, men af ​​hensyn til enkelheden og anvendeligheden af ​​denne artikel vil jeg fokusere på disse tre.

1. Migrering af et ældre websted til nyere hosting

Der er flere måder, hvorpå denne fejl kan vises, men synes næsten altid at være relateret til PHP-versionen, der er bundet til din webserver. Nyere PHP-versioner kan generere en øjeblikkelig 500 intern serverfejl, hvis det aktuelle websted eller plugins ikke understøtter den aktuelle version.

Denne fejl er for eksempel klassisk, når du migrerer dit websted fra en middelmådig hosting med en ældre PHP-version til en nyere hosting, der kun accepterer de nyere versioner (7.0 og nyere). Hvis dit websted ikke blev opdateret for nylig, kan et gammelt plugin muligvis forårsage et problem. Jeg kalder dette “migrations intern serverfejl”, fordi det næsten altid sker, når du migrerer et websted.

Opløsning

Den bedste måde at løse denne frygtelige fejl, når du prøver så hårdt at migrere dit WordPress-sted til nyt hosting, er at lave en komplet kopi af din plugins og dit websteds tema. Efter at have gjort dette, tak, slet alle plugins fra dit websted, og prøv igen. Hvis fejlen forsvinder, er det næsten garanteret, at fejlen blev genereret af en nyere version af PHP på din hosting, der bare simpelthen nægter at udføre kode på dit ældre plugin. Ved at uploade et plugin ad gangen kan du nemt finde ud af, hvad der var årsagen til problemet.

Disse fejl præsenterer næsten altid sig selv, når de overfører ældre websteder, der kører på PHP 5.4 og 5.6, til en nyere hosting med PHP 7.0, 7.1 eller 7.2.

Den samme ting gælder for dit tema. Da temaer kan og kan implementere ekstra PHP-kode i features.php, single og page.php filer. Det er sandsynligvis, at et ældre tema uden opdateringer kan ødelægge dit websted, når det er migreret til en hosting med en nyere version af PHP, denne situation er uheldig, da den eneste måde at løse dette på er at ændre temaet og genopbygge dit websted. Dette er værre tilfælde.

2. .htaccess Apache-konfigurationsfejl

Lad os sige, at du konfigurerede et plugin, og pludselig styrter alt sammen. Hvis du får en 500 intern serverfejl, mens du konfigurerer, for eksempel et cache-plugin eller et plugin relateret til optimeringer, skal du kontrollere, om plugin tilføjede ekstra kode til din .htaccess-fil.

Da apache kan ændres i realtid ved at konfigurere funktionerne i .htaccess-filen (som næsten altid er skjult) kan en dårlig konfiguration ødelægge dit websted.

Opløsning

Måden at rette det på er ved enten at få adgang til dit websted via FTP og ændre din .htaccess-fil eller ved direkte redigering, siger du med filudforskeren på cPanel eller Plesk.

Hvis du ikke ved, hvordan du vender tilbage til det, plugin har lavet, og du har brug for dit websted igen, skal du lave en kopi af det eksisterende indhold som tekstfil. Gem dette som din sikkerhedskopi. Udskift derefter hele .htaccess med følgende kode:

# BEGIN WordPress

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

# END WordPress

Dette er standard WordPress .htaccess fil. Det skal fungere med ethvert websted. Så hvis du er desperat og ikke ved, hvilken del du vil fjerne, skal du bare fjerne alt og indsætte denne kode. Det vil gemme dig med det samme. Du kan senere fjerne plugin eller prøve at konfigurere det igen. Du ved nu en måde at redde dig fra denne katastrofale fejl. I det mindste hvis det er .htaccess-relateret.

Hvis du ikke ved, om det er .htaccess-relateret, eller denne fejl begyndte at vises, uden at du rørte ved nogen plugins, skal du spille det sikkert. Bare kopiér indholdet af din .htaccess og kopier koden ovenfor for at prøve og diagnosticere. Hvis dette ikke løser det, skal du lade .htaccess være som det er, og prøv derefter det næste forslag.

3. Fejl i udførelse af PHP-kode

Disse typer fejl er mere almindelige, end du tror, ​​og de forekommer normalt, hvis et plugin udfører ugyldig kode. Den mest almindelige måde at udføre ugyldig kode er, når du prøver at udføre forældede instruktioner. Måske prøver du at køre et gammelt plugin, der kun var designet til at arbejde med op til PHP 5.4 eller 5.6 med PHP 7.0 eller nyere versioner. Forældede og ugyldige funktioner opretter en intern serverfejl, der kun kan diagnosticeres af aktivering af WP Debug-tilstand.

Aktivér wp_debug

WordPress-debugtilstand giver dig omfattende detaljer om den fejl, der blev kastet, der stoppede udførelsen. Den måde, vi aktiverer det på, er ved at ændre værdien fra “Falsk” til “sand” på wp_debug inde i filen wp-config.php i rodmappen på dit websted.

Hvis du bruger Plesk eller cPanel, kan du gøre det ved blot at ændre denne værdi ved hjælp af File Explorer og redigering wp-config.php. Du kan også følge dette debugging guide af Blogvault for mere detaljerede trin.

Når filen er redigeret, kan du se den faktiske fejl, der genereres, der stoppede udførelsen. Fejlen angiver også stien og filen, hvor dette skete, så det er let at gætte, hvilket plugin forårsaget det. Ved deaktivering af det vi kan springe fejlen over og senere opdatere plugin eller fjerne den, afhængigt af situationen.

Opløsning

Langt de fleste tilfælde af en 500 intern serverfejl involverer ældre temaversioner eller plugins. Ved at skifte dit tema til ethvert standard WP-tema vil du være i stand til at genvinde adgang til dit websted. Deaktivering af de modstridende plugins giver også din adgang til dashboardet. Hvis du støder på en situation, hvor dit tema er det, der er ansvarligt for at bryde webstedet, er den bedste måde at løse det ved at oprette en zip-fil med det nævnte tema fra temamappen wp-content / temaer / yourtheme derefter slette det fra dit websted. Dette fjerner fejlen, så du kan genvinde adgangen til dit websted. Du kan derefter uploade det og opdatere det uden at aktivere det. Du kan gøre det samme med plugins.

De mest almindelige situationer for 500 interne serverfejl kan rettes ved opdatering. I tilfælde, hvor det nævnte plugin / tema ikke har en opdatering tilgængelig, kan du prøve at skifte til en ældre PHP-version. Men ved, at dette er en kortvarig løsning. Nyere versioner af PHP bliver stabile, og ældre versioner udskrives regelmæssigt. Før eller senere dit websted vil bestemt stoppe med at arbejde. Den bedste metode vil altid være at opdatere eller fjerne / udskifte de aktuelle plugins.

Husk altid, det er bedre at forhindre og opdatere end at prøve at udføre skaderegulering senere.

Indpakning af vores guide til WordPress 500 interne serverfejl

En WordPress 500 intern serverfejl kan være en virkelig smerte. Men i de fleste tilfælde kan de let diagnosticeres og rettes ved blot at fjerne / opdatere de modstridende dele af dit websted. Selvom der kan være situationer, hvor disse fejl præsenterer sig uden for normen (for eksempel når du udvikler et plugin), går det ud over formålet med denne artikel.

For langt de fleste mennesker skal det ovenstående råd løse problemet. Husk, at wp-debug er din bedste ven, og følg altid trinnene nøje. Du vil have dit websted tilbage på kort tid.

Har du andre spørgsmål? Eller tip til håndtering af en WordPress 500 intern serverfejl? Lad mig vide!

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