Šta je “500 Internal Server Error” greška i kako je rešiti?

Ukoliko redovno surfujete internetom i posećujete različite sajtove za informisanje, zabavu ili online kupovinu, sasvim je sigurno da vam se makar jednom pojavio ekran sa sadržajem “Error 500 – Internal Server Error”. Međutim, ako ste vlasnik sajta i suočavate se sa ovom porukom stvari mogu postati za nijansu ozbiljnije, jer ova greška je jedna od čestih HTTP statusnih kodova i pojavljuje se prilikom učitavanja web sajta onda kada web server nije u mogućnosti da obradi traženi upit.

Kako izgleda Error 500 – Internal Server Error greška?

Postoji nekoliko uobičajenih načina za prikazivanje, a oni oni uglavnom izgledaju ovako:

  • HTTP Error 500
  • 500. That’s an error
  • 500 Internal Server Error
  • HTTP 500 – Internal Server Error
  • Temporary Error (500)
  • The website cannot display the page – HTTP 500.
  • Server is currently unable to handle this request. HTTP ERROR 500.
  • Internal Server Error
  • HTTP 500 Internal Error

Stranica sa Error 500 obaveštenjem se automatski generiše onda kada web server vrati poruku da nije u mogućnosti da obradi upit, pa ona izgleda uglavnom ovako:

error 500 primer

Sa druge strane, određeni web sajtovi mogu imati prilagođene stranice za ovakve slučajeve, poput sajta za iznajmljivanje stanova arbnb.com.

error 500 airbnb

Mogući uzroci “500 Internal Server Error” greške

Kao što smo već napomenuli, poruka Internal Server Error 500 ukazuje da nešto nije u redu. U većini slučajeva, radi se o problemu na strani web sajta, mada postoji i mala mogućnost da je problem lokalnog tipa.

Najčešći razlozi za pojavljivanje ove greške mogu biti:

  • Neispravne direktive u .htaccess fajlu – proverite da li je vaš .htaccess fajl pravilno struktuiran;
  • Neispravne dozvole za pristup datotekama i fajlovima – u većini slučajeva ovo je glavni razlog za pojavu Error 500 greške. Uglavnom se radi o neispravnim dozvolama PHP i CGI skripti;
  • Sintaksna greška u PHP kodu je sledeći mogući razlog;
  • Problem može nastati prilikom izvršavanja PHP koda (segmentation fault, memory exhausted, fatal errors i sl.).

Šta je sa WordPress sajtovima?

Poruka 500 Internal server error u WordPressu može biti uzrokovana iz više razloga. Ukoliko imate WordPress sajt i pojavljuje vam se Error 500, razlozi za to mogu biti sledeći:

  • Keš u browseru
  • Pogrešni login kredencijali za bazu podataka
  • Oštećena baza podataka
  • Oštećeni fajlovi u WordPress instalaciji
  • Problemi sa serverom baze podataka
  • Oštećeni core WordPress fajlovi
  • Problem sa .htaccess fajlom i ograničenjem PHP memorije
  • Problemi sa third-party temama i dodacima
  • Problem sa izvršavanjem PHP koda
  • Neispravne dozvole za pristup fajlovima
  • Greške u CGI i Perl skripti i sl.

Kako rešiti “500 – Internal Server Error” grešku?

Ako ste posetilac i nemate pristup sajtu, ne možete ništa da učinite, osim da kontaktirate vlasnika sajta (ukoliko imate tu informaciju) ili pošaljete poruku na zvaničan email i sačekate da se problem reši. Takođe, postoji mogućnost da je problem sa vaše strane, te stoga možete pokušati da obrišete keš memoriju i kolačice (cookies) i pokušate ponovo.

Sa druge strane, ako ste vlasnik WordPress sajta ili imate pristup sajtu koji izbacuje Error 500 poruku rešenje ovog problema zahteva malo drugačiji postupak.

U nastavku vam dajemo listu načina koji možete da primenite kako biste rešili problem.

Osvežite stranicu i očistite keš (cache)

Prva i najlakša stvar koju treba da uradite jeste da pričekate minut i ponovo učitate stranicu (kliknite na F5 ili CTRL+F5). Moguće je da je host ili server jednostavno bio preopterećen. Dok čekate, možete pokušati da posetite stranicu na nekom drugom web pregledaču (Chrome, Safari, Mozilla…) ili očistite keš memoriju.

Sledeći predlog je sajt downforeveryoneorjustme.com koji proverava HTTP statusne kodove koji dolaze od servera. Unesite URL sajta koji vam izbacuje grešku i saznajte da li je sajt “pao” za sve ili je samo to slučaj kod vas lokalno.

Proverite serverske logove

Ukoliko ste korisnik Mint Hosting usluga ili posedujete hosting paket kod kompanije koja koristi cPanel, u okviru svog naloga možete proveriti dostupne logove web servera i to na sledeći način:

  1. Ulogujte se u svoj cPanel nalog,
  2. U okviru sekcije Metrics kliknite na Errors,
  3. Pojaviće vam se sledeća stranica:

Ukoliko nemate pristup cPanelu, u svom wp-config.php fajlu možete omogućiti praćenje logova dodavanjem sledećeg koda:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

Ovi logovi se uglavnom mogu naći u /wp-content direktorijumu.

Takođe, možete proveriti logove u okviru Apache i Nginx servera na lokaciji:

  • Apache: /var/log/apache2/error.log
  • Nginx: /var/log/nginx/error.log

Proverite .htaccess fajl

.htaccess je konfiguracioni fajl koji omogućava pravljenje izmena u konfiguraciji i ponašanju web servera. U pitanju je tekstualni fajl kojim se može manipulisati u bilo kom tekstualnom editoru.

Ukoliko ne možete da pronađete ovaj fajl na sajtu, poseban tekst na našem blogu vam može pomoći u tome – Kako da pronađete .htaccess fajl na svom WordPress sajtu

Jedan od razloga za pojavljivanje Error 500 poruke je i .htaccess fajl koji sadrži neispravne direktive (ovo važi samo u slučaju da koristite Apache ili LiteSpeed kao web server). Kako bi utvrdili da li je problem do ovog fajla, neophodno je da preimenujete .htaccess fajl u na primer – .htaccess_old. Nakon toga, proverite svoj web sajt kako bi proverili da li se greška i dalje pojavljuje.

Greška u uspostavljanju konekcije sa bazom podataka

U slučaju ove greške na ekranu će se pojaviti poruka: “Error establishing a database connection”. Postoji nekoliko razloga za to:

  • Pogrešni podaci za prijavu na bazu podataka
  • Oštećena WordPress baza podataka
  • Izmenjeni fajlovi u WordPress instalaciji
  • Problemi sa serverom baze podataka

Proverite WordPress teme i dodatke

Veliki broj third-party tema i dodataka mogu da izazovu Error 500 grešku. U većini slučajeva, Error 500 poruka se i pojavljuje nakon instaliranja novog WordPress dodatka ili nakon ažuriranja. Razlog više da se sve promene na WordPress sajtu prvo testiraju u posebnom test (staging) okruženju.

Šta uraditi ako je problem do WordPress dodatka?

Prvi korak je deaktivacija svih dodataka. Ukoliko možete da pristupite admin delu WordPressa, kliknite na “Plugins”, a onda na “Deactivate” iz bulk action padajućeg menija. Ako je Error 500 greška nestala, neophodno je da pronađete dodatak koji je napravio problem.

Najbolji način da to uradite je da aktivirate dodatke jedan po jedan i da nakon svake aktivacije ponovo učitate sajt. Onog momenta kada se greška ponovo pojavi – uljez je pronađen. Nakon toga, možete javiti programeru koji je dodatak napravio ili postaviti tiket u WordPress repozitorijumu sa novim informacijama o dodatku.

Ukoliko nemate pristup admin delu WordPress-a, možete se konektovati preko FTP klijenta i preimenovati folder koji sadrži dodatke, npr. “Plugins_old”. Kao i u prvom slučaju, ako je Error 500 greška nestala, neophodno je da pronađete dodatak koji je napravio problem. Preimenujte ponovo folder u “Plugins”, a onda u okviru njega primenite isti princip i na dodatke, dakle, svakom pojedinačnom podatku u naziv dodajte “_old” ili nešto slično, i učitavajte sajt dok ne pronađete dodatak koji je uzrok problema.

Napomena: Vodite računa da su vaše teme, dodaci i WordPress core uvek ažurirani, kao i da su podržani od strane poslednje PHP verzije.

Problemi sa dozvolama

Neispravne dozvole za fajlove i direktorijume mogu da budu uzrok pojave Error 500 greške. U nastavku možete pronaći nekoliko preporuka kada su u pitanju dozvole za fajlove i foldere u WordPressu:

  • Sve datoteke treba da budu 644 (-rw-r–r–) ili 640
  • Svi direktorijumi treba da budu 755 (drwxr-xr-x) ili 750
  • Nijednom direktorijumu nikada ne treba dati 777 dozvolu
  • Hardening: wp-config.php fajl treba biti podešen na 440 ili 400 što bi sprečilo druge korisnike na serveru da mu pristupe

PHP Memory limit

Error 500 greška se takođe može pojaviti kao rezultat prekoračenja memorijskog limita PHP-a. U nastavku možete naći instrukcije kako da povećate limit u cPanelu ili ako koristite Apache server.

Povećanje PHP memory limita u cPanelu

Ukoliko imate pristup cPanelu PHP memory limit možete povećati na sledeći način:

  • Ulogujte se u svoj cPanel nalog
  • U Software sekciji kliknite na MultiPHP INI Editor

php memory limit cpanel

  • Odaberite lokaciju, pronađite “memory_limit” i upišite vrednost

php memory limit

  • Kliknite na Apply

Povećanje PHP memory limit na Apache serveru

PHP Memory Limit možete povećati putem .htaccess fajla koji vam pruža mogućnost da “kažete” serveru kako da se ponaša.

Ostvarite konekciju sa serverom koristeći FTP klijent ili SSH i u svom root direktorijumu pronađite .htaccess fajl. U fajl unesite sledeću liniju koda:

php_value memory_limit 128M

PHP memory limit je uglavnom podešen na 64M ili manje.

Niste uspeli da rešite problem?

Ukoliko metode opisane u ovom članku nisu dale rezultate, vreme je da potražite pomoć. Obratite se podršci vašeg hosting provajdera, a oni će sa svoje strane moći da provere serverske logove i pokušati da pronađu uzrok i reše vaš problem.

Umesto zaključka

Pojavljivanje 500 Internal server Error greške može biti frustrirajuće, ali nadamo da nakon čitanja ovog teksta imate više informacijama o tome šta može biti uzrok za njen nastanak, kao i na koje sve načine možete pokušati da samostalno rešite ovaj problem.

Ostavi komentar