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:
Sa druge strane, određeni web sajtovi mogu imati prilagođene stranice za ovakve slučajeve, poput sajta za iznajmljivanje stanova arbnb.com.
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.).
Iskoristite ekskluzivni promokod BLOG10 za 10% popusta na sve Web Hosting pakete, posebno kreiran za naše čitaoce. Upišite promokod BLOG10 na checkout stranici i ne propustite priliku da unapredite svoj online prostor uz pouzdan i siguran hosting!
Š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:
- Ulogujte se u svoj cPanel nalog,
- U okviru sekcije Metrics kliknite na Errors,
- 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
- Odaberite lokaciju, pronađite “memory_limit” i upišite vrednost
- 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.