Internal Server Error 500, kako nastaje i analiza?

Ovo uputstvo pomaže u pronalaženju grešaka čak i ako sajt radi ali njegovi delovi ne rade. Recimo upload slike ne radi ili upload teme, beskonačno učitavanje stranice ili bilo šta drugo. WordPress je omogućio prikaz grešaka a ovo je uputstvo baš za tu opciju.

Internal Server Error nastaje iz više razloga. Greška u kodu, problem .htaccess

Greška koja se pojavljuje na wordpress od najnovije verzije su:

– Ovo veb mesto doživljava tehničke poteškoće.
– This web site experiencing technical difficulties
– There has been a critical error on your website.

Rešavanje se svodi na sistem eliminacije.

PHP prikazivanje greške

Ukoliko je sajt neki drugi a ne wordpress (pošto se uputstvo za wordpress nalazi u nastavku ovog članka) aktivirajte debug u php pomoću sledećeg koda:

error_reporting(E_ALL);
ini_set('display_errors', 1);

Kod ovaj unosite u prvoj liniji odmah ispod <?php u svakom fajlu kako bi ste detektovali koji fajl i koji red u tom fajlu je problem.


Pre svega se ulogujte cPanel – File Manager i potražite u public_html „error_log“ fajl (ili cPanel > File Manager i LOGS folder unutar njega videcete fajl „vasdomen.error_log“). Pogledajte šta piše unutra koji fajl pravi problem i gde se nalazi greška u kom redu koda. Tu bi trebao da stoji i datum kada je greška nastala ukoliko je skorašnji datum onda je moguće da ta greška izaziva error 500, ukoliko nije onda tražite dalje.

Proverite .htaccess fajl. Moguće je da nije sve ispisano kako valja ili da je nastala negde greška. Najbolje je da vratite htaccess na početak. Kako ne bi brisali linije koda iz fajla najbolje bi bilo da postavite tarabu na početku linije i time ćete je „obrisati“ odnosno ta linija više neće biti bitna.

WordPress pronalaženje greške

WordPress debug preko wordpress manadžera

Debug opciju možemo da uključimo preko WordPress Menadžera

wordpress manager Internal Server Error 500, kako nastaje i analiza?

Sada pojaviće li se lista WordPress sajtova koje imamo koje smo instlirali preko ovog alata. Ukoliko nema ni jedan možete da skenirate klikom na Scan i potom na istom messtu pojaviće se. U ovom uputstvu idemo na strelicu desno.

Softaculous WordPress Management Internal Server Error 500, kako nastaje i analiza?

Sada pojaviće nam se razne opcije od onih koje nam trebaju prva je Debug mode koji postavljamo na Enable

WordPress Management debug mode Internal Server Error 500, kako nastaje i analiza?

Sada kada smo to uradili idemo na naš sajt i pokušavamo da dobijemo isti problem tj da nam se pojavi greška. i Dobićemo nešto poput ovog:

error Internal Server Error 500, kako nastaje i analiza?

U svim linijama koje dobijete tražite gde piše ERROR i potom pokušavate da pronađete gde piše koji je plugin ili je možda čak i tema. A to radite tako što tražite putanju. Putanja kod svih wordpress sajtova je wp-content/plugins/imeplugina/

Za putanju do teme slično kao i sa pluginom wp-content/themes/imeteme/

Kako da rešimo ako je plugin u pitanju? Ukoliko je neki nebitan plugin bez koga može da radi sajt onda možemo privremeno da ga ugasimo to radimo na sledeći način:

WordPress Management manage plugins Internal Server Error 500, kako nastaje i analiza?

Kada tu kliknemo otvoriće nam se popup gde možemo da brišemo, aktiviramo i deaktiviramo plugine. Ovo je pogotovo korisno kada ne možemo zbog greške da uđemo u Dashboard našeg sajta pa da odatle to radimo.

Pored te opcije možemo da uplodujemo plugin pogotovo ako je puklo update prilikom update samog plugina i onda nije postavljen ceo plugin već samo deo i onda nam je greška prozrokovana zbog toga. Ovo je čak i bolja opcija nego da ga samo ugasimo ukoliko smo sigurni da je plugiin u redu kao što je to slučaj sa nekim popularnim pluginovima kao što je elementor, woocommerce, yoast itd…

WordPress ručno

WordPress Debug link

Putem ovog linka naći ćete uputstvo koje je potrebno da aktivirate opciju koja će vam pomoći da prikaže gde je greška.

Pre početka promenite PHP verziju na ea-php80 pa ako to reši problem to je to, a ako ne reši onda nastavite sa ovim uputstvom. Uputstvo za promenu PHP verzije.

Svaki deo ovog uputstva je obavezan da se uradi kako bi ste našli problem.

Svaki WorPress sajt ima svoj wp-config.php fajl u kome se uključuje prikazivanje grešaka (takozvani debug).

Ukoliko sajt na kome imate problem je glavni domen na hosting nalogu onda se njegov wp-config.php fajl nalazi: u cPanel > File Manager > public_html

Ukoliko je sajt na kome imate problem Dodatnom domenu (dodatn domen na hostingu) onda se njegov wp-config.php nalazi u drugom folderu a ne u public_html folderu. Glavni folder (document root) možete da nađete ako idete u cPanel p a kliknete na Domeni i ispod polja Document Root pojaviće se putanja foldera vašeg sajta koji je ujedno i link i kada kliknete tu odmah će vam otvoriti folder vašeg sajta u kome se nalazi wp-config.php fajl.

domainscpanel Internal Server Error 500, kako nastaje i analiza?

Kliknete desni klik na wp-config.php fajl pa edit (ako vam se otvori mali prozor samo kliknite na edit dugme) kada vam se otvori nađite liniju u kojoj piše:

define( 'WP_DEBUG', false );

Umesto te linije treba da ubacite ovo:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', true );
@ini_set( 'display_errors', 0 );

Jednostavnim copy-paste i sačuvajte u desni gornji ugao.

Zatim pogledajte debug log fajl u folderu vašeg sajta (na istom mestu gde je i wp-config.php) imate folder wp-conetnt i unutar njega pojaviće se debug.log.

debuglog Internal Server Error 500, kako nastaje i analiza?

Ukoliko ga nema onda otvorite sajt nekoliko puta da vam prikaže grešku pa onda osvežite taj folder klikom na reload i pojaviće se. Ukoliko se i dalje ne prikazuje onda ste u pogrešnom folderu ili niste uradili prvi deo uputstva uključivanje debug opcije u wp-config.php fajlu.

Sada idemo na čitanje grešaka. Da bi ste ga otvorili kliknite desni klik pa „view“. 

Ukoliko vidite nešto tipa:

[05-Feb-2019 13:38:17 UTC] PHP Fatal error:  Allowed memory size of 41943040 bytes exhausted (tried to allocate 65536 bytes) in /home/username/public_html/wp-content/plugins/everest-forms/includes/class-evf-log-levels.php on line 14
[05-Feb-2019 13:39:33 UTC] PHP Fatal error:  Allowed memory size of 41943040 bytes exhausted (tried to allocate 32768 bytes) in /home/username/public_html/wp-content/plugins/jetpack/locales.php on line 236

To znači da je taj plugin napravio problem. U ovom slučaju dva everest-forms i jetpack.

  • ali samo ako stoji PHP FATAL ERROR ukoliko stoji worning onda to nije uzrok

Tu postoje dva načina da se reše u ovom slučaju a to je da se obriše sporan plugin i zamene drugim koji ne pravi problem (u ovom slučaju može da se poremeti sajt zavisno od plugina i koja je njegova namena).

A u ovom konkretnom slučaju koji vidite to se rešava iz cPanel-a opcija MultiPHP INI Editor gde povećate memory_limit. Tu možete da stavite duplo od onoga što piše ili 256MB recimo kako sigurno ne bi ste imali problema.

Ovaj primer sam naveo iz razloga zato što je to najubičajena greška koju možete uz dva klika lako da rešite.

Moguće je problem rešiti i promenom PHP verzije iz MultiPHP Manager iz cPanel-a jer neki dodaci rade na drugim verzijama php-a. Ukoliko nešto ne radi na novijim verzijama kao što je 7.4 (u trenutku pisanje ovog članka) ili više onda svakako nije bezbedno da koristite taj dodatak.

Ukoliko error log fajl ne prikaže ništa onda vam je greška u fajlu .htaccess to možete da rešite prostom izmenom .htaccess fajla vraćanje na podrazumevani a sadržaj koji treba da se nalazi samo u tom fajlu da bi wordpress radio je sledeći:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Video uputstvo

Scroll to Top