Vianetsintä ja korjaus

500 Internal Server Error, mitä se tarkoittaa ja miten korjaat sen

Palvelinvirhe

500 Internal Server Error on palvelimen yleinen virheilmoitus. Se tarkoittaa vain sitä että jokin meni pieleen palvelimella eikä pyyntöä voitu käsitellä. Syytä ei kerrota selaimelle, koska se voisi paljastaa tietoa sivuston rakenteesta. Oikea syy on virhelokissa, ja ilman sitä korjaaminen on arvailua.

Lyhyesti

  • 500 ei ole syy vaan oire. Todellinen virhe on lokissa.
  • Yleisimmät syyt ovat .htaccess, keskeytynyt päivitys ja PHP-versio.
  • Jos virhe tuli ilman muutoksia, epäile ensin PHP-versiota tai levytilaa.

Aloita virhelokista

Hallintapaneelissa on lokinäkymä, ja sivuston juuresta löytyy usein error_log-tiedosto. Etsi viimeisin rivi jonka aikaleima vastaa hetkeä jolloin virhe ilmeni. Rivi kertoo tavallisesti tiedostonimen ja rivinumeron. Yksi rivi lokia säästää tunnin kokeilemista.

Yleisimmät syyt

SyyMiten tunnistatKorjaus
Rikkinäinen .htaccessVirhe koskee koko sivustoa, myös staattisia sivujaNimeä tiedosto väliaikaisesti uudelleen. Jos sivusto nousee, vika on siinä.
Keskeytynyt päivitysVirhe alkoi päivityksen aikana tai heti sen jälkeenPalauta varmuuskopio ja aja päivitys uudelleen rauhassa
PHP-versioVirhe ilmestyi ilman että kukaan muutti sivustoaPalauta edellinen PHP-versio, päivitä sitten lisäosat
Levytila täynnäMyös sähköposti tai tietokanta oireileeVapauta tilaa, tarkista lokitiedostojen koko
Tiedosto-oikeudetVirhe alkoi siirron tai palautuksen jälkeenHakemistot 755, tiedostot 644

Testaa .htaccess ensin

Rikkinäinen .htaccess on nopein sulkea pois. Nimeä tiedosto uudelleen esimerkiksi muotoon .htaccess-vanha FTP:llä tai tiedostoselaimella ja lataa sivusto uudelleen. Jos sivusto toimii, vika oli siinä. WordPressissä voit luoda uuden tyhjän tiedoston ja tallentaa asetukset uudelleen kohdasta Asetukset ja osoiterakenne, jolloin WordPress kirjoittaa oletussäännöt takaisin.

Muista palauttaa alkuperäinen tiedosto jos vika ei ollut siinä. .htaccess voi sisältää uudelleenohjauksia ja välimuistisääntöjä joiden katoaminen aiheuttaa uuden ongelman.

Kun mitään ei ole muutettu

Jos kukaan ei ole koskenut sivustoon, muutos tuli ympäristöstä. Tavallisimmin webhotelli on päivittänyt PHP-version, tai levytila on täyttynyt varmuuskopioista ja lokeista. Molemmat näkyvät hallintapaneelista. PHP-version palauttamiseen on oma ohjeensa.

Älä jätä virhettä näkyviin

Virheiden näyttäminen selaimessa auttaa vianetsinnässä, mutta se paljastaa tiedostopolkuja ja joskus tietokantatietoja. Kytke se pois heti kun vika on löytynyt. Jos sivusto on julkinen ja virhe kestää pitkään, väliaikainen huoltosivu on parempi kuin raaka virheilmoitus.

Jos et halua tehdä sitä itse

Luemme lokin, korjaamme syyn ja kerromme mitä tehtiin. Jos sivusto on tämän takia alhaalla, otamme sen työn alle vuorokaudessa.

Katso miten korjaamme rikkoutuneen sivuston »

Error establishing a database connection, näin selvität syyn »