Kako da pronađete i popravite PHP greške u WordPressu

Ukoliko koristite WordPress, verovatno ste se nekada susreli sa porukom o grešci, praznom belom stranicom ili situacijom u kojoj je deo vašeg sajta iznenada prestao da radi.
U velikom broju slučajeva uzrok ovakvih problema je neka PHP greška.
WordPress je zasnovan na PHP programskom jeziku. Ukoliko deo PHP koda nije ispravno napisan ili više nije usklađen sa PHP verzijom koju koristite, WordPress može da prikaže upozorenje, zaustavi rad određenog plugina ili potpuno prekine učitavanje stranice.
Problem ne mora da nastane samo nakon ručne izmene sajta. Dovoljno je, na primer, da se plugin automatski ažurira na noviju verziju koja više ne podržava PHP verziju koju trenutno koristite. Moguća je i obrnuta situacija – promenite PHP verziju, a neki stariji plugin ili tema još nisu prilagođeni toj verziji. Rezultat može da bude PHP greška, bela stranica ili greška 500.
Srećom, u velikom broju takvih slučajeva problem možete da rešite ažuriranjem plugina ili teme, promenom PHP verzije ili jednostavno isključivanjem komponente koja izaziva grešku.
U nastavku ćemo vam pokazati kako da pronađete uzrok nekih od najčešćih problema i kojim redosledom da ih rešavate.
Pre nego što počnete
Pre bilo kakvih izmena napravite rezervnu kopiju sajta i baze podataka.
Ako niste sigurni kako to da uradite, preporučujemo da prvo pročitate naše uputstvo Kako da uradite backup kopiju svog web sajta.
Ukoliko svoj sajt hostujete na našim serverima, sadržaj smešten na serveru svakodnevno se arhivira na više nivoa backupa. Ipak, uvek je dobra praksa da napravite dodatnu rezervnu kopiju neposredno pre izmene. Tako ćete, ukoliko nešto krene po zlu, moći da vratite sajt u stanje u kojem je bio pre problema.
U slučaju da vam bude potrebno vraćanje prethodno sačuvane verzije, pogledajte i uputstvo R1Soft ili kako da uradite restore svog web sajta iz cPanela.
Ovo je posebno važno ako treba da menjate WordPress datoteke, PHP verziju ili podešavanja na serveru, jer svaka pogrešna izmena može da napravi još veći problem.
Kako izgledaju PHP greške u WordPressu
PHP greške ne izgledaju uvek isto. Nekada ćete dobiti jasnu poruku sa nazivom datoteke i brojem reda na kojem je problem nastao, dok će WordPress u drugim slučajevima prikazati samo obaveštenje da je došlo do kritične greške.
Problem može da se ispolji i kroz belu stranicu, grešku 500, nepotpuno učitavanje sajta ili plugin koji je iznenada prestao da radi. Mogu da se pojave i poruke koje počinju izrazima Warning, Notice, Parse error ili Fatal error.
Greška 500 je posebno nezgodna zato što sama poruka ne govori šta je tačno izazvalo problem. Uzrok može da bude greška u PHP kodu, nekompatibilan plugin ili tema, neusklađena PHP verzija, prekoračen PHP limit ili neki drugi problem tokom izvršavanja zahteva.
Iako ove poruke na prvi pogled mogu da deluju nerazumljivo, često sadrže dovoljno podataka da otkrijete gde je problem nastao. Najvažnije je da obratite pažnju na naziv datoteke, putanju i broj reda koji se pominju u poruci.
Najčešće PHP greške u WordPressu
Greške u sintaksi
Greška u sintaksi nastaje kada deo PHP koda nije pravilno napisan. Najčešće nedostaje tačka i zarez, navodnik ili zagrada, zbog čega PHP ne može da nastavi sa izvršavanjem koda.
Poruka može da izgleda ovako:
Parse error: syntax error, unexpected ‘}’
Ovakve greške se obično pojavljuju nakon ručne izmene teme, plugina ili datoteke functions.php. U poruci ćete najčešće videti putanju do problematične datoteke i broj reda na kojem je greška otkrivena.
Ipak, to ne znači da se uzrok uvek nalazi baš u tom redu. Često je problem nekoliko redova iznad, na mestu gde je izostavljena zagrada, navodnik ili neki drugi deo koda.
Ako se greška pojavila odmah nakon vaše izmene, najbrže rešenje je da vratite poslednju promenu ili prethodnu verziju datoteke. Ukoliko niste sigurni šta treba da ispravite, nemojte nasumično da menjate kod, već programeru pošaljite celu poruku o grešci.
Zastarele PHP funkcije
WordPress plugin ili tema mogu da koriste PHP funkciju koja je zastarela i više se ne preporučuje. U tom slučaju na sajtu može da se pojavi poruka poput ove:
Deprecated: Function example_function() is deprecated
Ovakvo upozorenje ne mora odmah da prekine rad sajta, ali pokazuje da kod nije u potpunosti usklađen sa PHP verzijom koju koristite. Naša preporuka je da ovom slučaju problem pokušate prvo sa ažuriranjem teme ili plugina, jer nove verzije obično donose i podršku za novije verzije PHP-a.
Ako developer više ne pruža podršku za plugin, najbolje je da mu pronađete neku odgovarajuću zamenu. Vraćanje na stariju verziju PHP-a može privremeno da ukloni upozorenje, ali time samo odlažete rešavanje problema i izlažete svoj web sajt dodatnom bezbednosnom riziku.
U julu 2026. podržane su PHP verzije 8.2, 8.3, 8.4 i 8.5. PHP 8.2 dobija samo bezbednosne ispravke do 31. decembra 2026. godine, dok verzije 8.1 i starije više nisu podržane.
Fatalne greške
Fatalna greška, kao što joj i samo ime kaže, potpuno prekida izvršavanje PHP koda, zbog čega stranica ili deo sajta više ne može da se učita.
Poruka može da izgleda ovako:
Fatal error: Call to undefined function example_function()
Ona se najčešće pojavljuje kada WordPress pokuša da pokrene funkciju ili klasu koja ne postoji ili iz nekog razloga nije pravilno učitana. Razlog može da bude nepotpuno ažuriranje plugina, nedostajuća datoteka, sukob između više pluginova, greška u ručno dodatom kodu ili neusklađenost sa PHP verzijom koju koristite.
Najpre proverite da li se u poruci pominje naziv određene teme ili plugina. Ako se pominje, privremeno ga isključite i proverite da li sajt ponovo radi.
Plugin jednostavno isključujete u sekciji Plugins u WordPress admin dashboard-u. Ako vam iz nekog razloga nije dostupan admin dashboard, ne brinite. Plugin možete isključiti i tada, prateći ovo uputstvo.
PHP limiti
Nedovoljna PHP memorija jeste čest uzrok problema, ali memory_limit nije jedini PHP limit koji može da utiče na rad WordPress sajta.
U zavisnosti od operacije koju WordPress ili plugin pokušava da izvrši, problem mogu da naprave i:
- max_execution_time
- max_input_time
- max_input_vars
- post_max_size
- upload_max_filesize
Ako PHP potroši svu dostupnu memoriju, možete da dobijete poruku poput ove:
Allowed memory size exhausted
Ova greška se često javlja kada zahtevniji plugin koristi više memorije nego što je dozvoljeno, prilikom uvoza veće količine podataka, obrade velikih fotografija ili rada sa složenijim page builder pluginovima.
Međutim, zahtevan proces može da bude prekinut i zato što traje duže nego što dozvoljava max_execution_time. Slično tome, max_input_time određuje koliko dugo PHP može da obrađuje ulazne podatke, dok max_input_vars ograničava broj promenljivih koje jedan zahtev može da prosledi. Ovo može da bude važno kod velikih formi, menija, kompleksnih podešavanja tema i pojedinih pluginova.
Zbog toga kod greške 500 nije dovoljno proveriti samo raspoloživu PHP memoriju.
PHP limite najjednostavnije možete da proverite preko svog cPanel naloga. Ulogujte se na cPanel i potražite sekciju Software, a zatim odaberite aplikaciju pod nazivom Select PHP Version.

Otvoriće vam se PHP Selector.

Zatim u PHP Selectoru odaberite tab Options. Tu možete da pronađete memory_limit, ali i ostala dostupna PHP podešavanja.

Kod memory_limit opcije dostupne su vrednosti do 1024M.
Odaberite odgovarajuću vrednost i podešavanje će biti automatski sačuvano.
Ipak, nemojte automatski da povećavate sve limite na maksimalne vrednosti. Prvo proverite error_log i utvrdite da li je neki limit zaista uzrok problema. Povećavanje limita može da ukloni posledicu, ali ne nužno i uzrok. Ako plugin zbog greške troši neuobičajeno mnogo memorije ili se izvršava predugo, isti problem može ponovo da se pojavi.
Više o promeni PHP verzije i PHP podešavanja možete da pročitate u našem tekstu Kako da promenite verziju PHP-a.
Greške zbog nekompatibilnosti
WordPress, tema, plugini i PHP verzija moraju da budu međusobno usklađeni. Problem se često pojavljuje kada se promeni samo jedan deo sistema, dok ostale komponente ostanu na postojećim verzijama.
Na primer, plugin koji se automatski ažurirao može u novoj verziji da zahteva noviju PHP verziju, dok vaš sajt još radi na starijoj. Moguća je i obrnuta situacija: PHP verzija se promeni na noviju, dok neki stariji plugin ili tema koriste funkcije koje ta verzija PHP-a više ne podržava.
U oba slučaja sajt je pre izmene mogao da radi bez problema, a zatim nakon ažuriranja da počne da prikazuje PHP grešku ili grešku 500.
Zato je važno da WordPress redovno održavate kao celinu. Kako već redovno preporučujemo, pre većih ažuriranja napravite rezervnu kopiju, proverite kompatibilnost i izmene prvo testirajte na kopiji sajta, ako je imate.
Ako niste sigurni kako da napravite staging sajt i kako da ga podesite za testiranje, predlažemo da pročitate naš tekst Kako podesiti staging sajt za testiranje.
Proverite error_log
Pre nego što počnete sa nasumičnim promenama plugina, tema ili PHP podešavanja, proverite error_log. U velikom broju slučajeva upravo će vam on najbrže pokazati šta je izazvalo problem.
Na našem hostingu PHP greške se najčešće upisuju u datoteku:
error_log
koja se nalazi u public_html direktorijumu, odnosno u web root direktorijumu sajta.
Otvorite cPanel, zatim File Manager i uđite u public_html. Ako postoji error_log, otvorite ga i pogledajte poslednje redove koji odgovaraju vremenu kada se problem pojavio.
U logu možete da vidite naziv PHP datoteke, putanju do plugina ili teme, vrstu greške i često broj reda na kojem je problem nastao.
Na primer, ako se u putanji ponavlja:
/wp-content/plugins/naziv-plugina/
velika je verovatnoća da upravo taj plugin ima veze sa problemom.
U pojedinim slučajevima error_log može da postoji i u nekom od poddirektorijuma, pa proverite i direktorijum u kojem se nalazi problematična aplikacija ili datoteka.
Ako niste sigurni gde i kako da pronađete error logove, pročitajte naše detaljnije uputstvo Kako da proverite error logove u cPanelu.
Uključite WordPress evidenciju grešaka
Da biste mogli da pristupate rešavanju neke PHP greške na vašem sajtu, za početak je bitno da je identifikujete. Kada poruka na ekranu ne otkriva dovoljno informacija, možete da uključite WordPress debug režim i na taj način proverite gde je tačno nastala greška.
Za to je potrebno da otvorite datoteku wp-config.php, koja se nalazi u glavnom direktorijumu WordPress instalacije. Do nje možete da dođete preko File Managera u hosting panelu ili pomoću FTP programa.
Pre nego što bilo šta promenite, napravite kopiju ove datoteke.
U njoj pronađite sledeću liniju:
define( ‘WP_DEBUG’, false );
Zatim je zamenite ovim kodom:
define( ‘WP_DEBUG’, true );
define( ‘WP_DEBUG_LOG’, true );
define( ‘WP_DEBUG_DISPLAY’, false );
Ako prva linija ne postoji, dodajte sve tri neposredno iznad sledećeg komentara:
/* That’s all, stop editing! Happy publishing. */
Ovim podešavanjem uključujete debug režim, upisujete greške u posebnu datoteku i sprečavate da se tehničke poruke prikazuju posetiocima sajta.
Evidenciju grešaka pronaći ćete u datoteci:
wp-content/debug.log
Nakon toga otvorite stranicu na kojoj se problem pojavljuje, a zatim proverite poslednje redove u debug.log datoteci. Obratite pažnju na naziv plugina, teme ili PHP datoteke koja se pominje u poruci, jer će vas to najčešće usmeriti prema uzroku problema.
Kada završite sa proverom, vratite WP_DEBUG na false. Debug režim ne bi trebalo da ostane uključen na aktivnom sajtu, jer log može da sadrži tehničke podatke koje nije dobro nepotrebno čuvati.
Detaljnije o aktivaciji debug mode-a pročitajte u našem tekstu Kako da aktivirate debug mode u WordPress-u.
Privremeno promenite aktivnu temu
Kada su u pitanju PHP greške, često uzrok može da bude i tema koju trenutno koristite.
Da biste to proverili, u WordPress admin dashboard-u otvorite:
Izgled → Teme
(Appearance → Themes)
Zatim privremeno aktivirajte neku od podrazumevanih WordPress tema iz serije Twenty Twenty i proverite da li se greška i dalje pojavljuje.

Ako sajt nakon promene teme počne normalno da radi, problem se verovatno nalazi u prethodnoj temi ili nekoj njenoj funkciji. U tom slučaju proverite da li postoji novija verzija teme i da li ona podržava verzije WordPressa i PHP-a koje koristite.
Promenu teme prvo proverite na staging kopiji sajta, ako je imate. Na aktivnom sajtu ona može da utiče na izgled stranica, raspored menija i pojedina podešavanja.
Proverite verziju PHP-a
PHP verziju najčešće možete da promenite u hosting panelu.
Ulogujte se na svoj cPanel nalog i potražite sekciju Software, a zatim opciju Select PHP Version:

Nakon toga će vam se otvoriti ekran kao na slici ispod.

Sada iz padajuće liste PHP version možete da izaberete verziju PHP-a za svoj web sajt.
Pre promene proverite koje verzije podržavaju vaša tema i plugini. Ne treba automatski da izaberete najnoviju dostupnu verziju ako deo sajta još nije prilagođen za nju.
Ako se problem pojavio nakon automatskog ažuriranja određenog plugina, proverite i njegove sistemske zahteve. Moguće je da novija verzija više ne podržava PHP verziju na kojoj vaš sajt trenutno radi.
Najbezbednije je da novu PHP verziju prvo proverite na staging kopiji sajta. Otvorite važne stranice, prijavite se u admin dashboard, proverite kontakt forme, prodavnicu i sve druge funkcije koje su važne za rad sajta.
Ako se greška pojavila neposredno nakon promene PHP verzije, privremeno vratite prethodnu podržanu verziju. Nakon toga ažurirajte ili zamenite nekompatibilnu temu ili plugin.
Nemojte trajno ostajati na PHP verziji kojoj je istekla podrška, jer ona više ne dobija bezbednosne ispravke.
Detaljno uputstvo možete da pronađete u tekstu Kako da promenite verziju PHP-a.
Ažurirajte WordPress, plugine i temu
Zastarele komponente mogu da izazovu greške kada više nisu usklađene sa novom PHP verzijom ili međusobno koriste nekompatibilan kod.
Pre ažuriranja napravite rezervnu kopiju sajta. Nakon toga se ulogujte u WordPress admin dashboard i otvorite:
Kontrolna tabla → Ažuriranja
Ažurirajte WordPress, pluginove i temu, ali to radite postepeno. Posle svake veće izmene proverite da li sajt radi, kako biste znali koje je ažuriranje eventualno izazvalo novi problem.
Ako se greška pojavila odmah nakon ažuriranja, preporuka je da vratite prethodnu verziju iz rezervne kopije.
Proverite da li je ažuriranje prekinuto
Ponekad se PHP greška pojavi zato što ažuriranje WordPressa, teme ili plugina nije završeno kako treba. Do toga može da dođe ako se prekine veza, na serveru nema dovoljno prostora ili se tokom ažuriranja pojavi neki drugi problem.
U takvoj situaciji deo novih datoteka može da bude prebačen, dok neke ostanu stare ili potpuno izostanu. WordPress tada pokušava da koristi nepotpunu verziju plugina, teme ili sopstvenih datoteka, što može da izazove grešku.
Ako poruka ukazuje na određeni plugin, preuzmite njegovu aktuelnu verziju sa zvaničnog izvora i ponovo ga instalirajte. Pre toga napravite rezervnu kopiju i proverite da li plugin čuva neke važne podatke direktno u svom folderu.
Ako sumnjate da problem dolazi iz samog WordPressa, u admin dashboard-a možete da pokrenete ponovnu instalaciju iste verzije. Time se zamenjuju osnovne WordPress datoteke, dok sadržaj sajta, baza podataka i podešavanja ostaju sačuvani.
Proverite dozvole datoteka i foldera
Neodgovarajuće dozvole mogu da spreče WordPress ili PHP da pristupe datotekama koje su im potrebne za normalan rad.
Uobičajeno je da dozvole budu podešene ovako:
644 za datoteke
755 za foldere
Možete da ih proverite preko File Managera u hosting panelu ili pomoću FTP programa.
Nemojte da postavljate dozvolu 777 samo da biste što pre uklonili grešku. Time praktično otvarate mnogo širi pristup datotekama, što može ozbiljno da ugrozi bezbednost sajta.
Pošto podešavanja mogu da se razlikuju od servera do servera, najbolje je da se pre većih izmena obratite hosting podršci. Posebno izbegavajte da istu dozvolu odjednom primenite na sve datoteke i foldere.
Kako da sprečite buduće PHP greške
Ne možete da sprečite svaku grešku, ali možete znatno da smanjite mogućnost da ona prekine rad sajta.
Redovno ažurirajte WordPress, temu i pluginove, ali velike izmene prvo proverite na staging kopiji. Nemojte da koristite pluginove koji se dugo ne održavaju i uklonite sve teme i pluginove koji vam više nisu potrebni.
Koristite podržanu PHP verziju i pravite automatske rezervne kopije. Povremeno proverite PHP logove, čak i kada na sajtu ne primećujete problem, jer se upozorenja mogu pojaviti mnogo pre nego što funkcionalnost potpuno prestane da radi.
Najvažnije je da ne menjate više stvari istovremeno. Ako posle svake izmene proverite sajt, mnogo ćete lakše utvrditi šta je izazvalo problem i vratiti ga u prethodno stanje.
Zaključak
Kao što ste videli, PHP greške u WordPressu mogu da izgledaju ozbiljno, ali uzrok je često mnogo jednostavniji nego što deluje na prvi pogled. Problem se najčešće krije u nekom pluginu, temi, neusklađenoj PHP verziji, prekoračenom PHP limitu ili neuspešnom ažuriranju.
Ako se greška pojavila iznenada, prvo proverite šta se neposredno pre toga promenilo, a zatim pogledajte error_log u public_html direktorijumu. On će vam u mnogim slučajevima odmah pokazati plugin, temu ili PHP datoteku koja izaziva problem.
Najvažnije je da ne menjate više stvari odjednom. Napravite rezervnu kopiju, proverite šta je poslednje menjano i zatim redom testirajte moguće uzroke. Ako error_log ne daje dovoljno informacija, uključite WordPress debug log i nastavite proveru korak po korak.
Ako poruka o grešci ukazuje na određenu datoteku ili deo koda koji ne razumete, nemojte nasumično da ga menjate. U tom slučaju je bolje da se obratite programeru ili našoj podršci i prosledite nam celu poruku o grešci.
Česta pitanja o PHP greškama u WordPressu
Da li PHP greška može da uspori sajt?
Može, ali zavisi od vrste PHP greške. Upozorenje koje se neprekidno upisuje u log može da napravi veoma veliku datoteku i nepotrebno optereti disk. Plugin koji ne radi pravilno može da koristi previše memorije ili da ponavlja iste operacije.
Fatalna greška obično ne usporava stranicu, već potpuno prekida njeno učitavanje.
Da li PHP greške utiču na SEO?
Ako greška sprečava učitavanje stranice ili server vraća status 500, search engine-i neće moći pravilno da joj pristupe. Kratak prekid obično neće napraviti trajnu štetu, ali problem koji traje može negativno da utiče na indeksiranje i korisničko iskustvo.
Da li treba da uključim prikaz grešaka posetiocima?
Ne. Tehničke poruke mogu da otkriju putanje do datoteka, nazive pluginova i druge podatke o serveru.
Bolje je da greške upisujete u debug.log, a da njihov prikaz na stranici ostane isključen:
define( ‘WP_DEBUG_DISPLAY’, false );
Da li povećanje memorije uvek rešava grešku?
Ne. Ono pomaže samo kada je zaista potrošena dostupna PHP memorija. Ako plugin ima grešku ili neprestano povećava potrošnju, veći limit će samo odložiti isti problem.
Takođe proverite da li problem izaziva neki drugi PHP limit, kao što su max_execution_time ili max_input_time.
Kako da znam koji plugin izaziva grešku?
Prvo proverite error_log u public_html direktorijumu i pogledajte da li se u poslednjim porukama pojavljuje putanja do foldera određenog plugina. Možete da proverite i WordPress debug.log.
Ako poruka nije jasna, isključite sve pluginove i zatim ih uključujte jedan po jedan dok se problem ponovo ne pojavi.
Šta da radim ako ne mogu da otvorim ni admin dashboard?
Preko File Managera ili FTP-a privremeno promenite naziv foldera problematičnog plugina. Ako ne znate koji je plugin u pitanju, promenite naziv celog foldera plugins.
Ako ni to ne pomogne, proverite aktivnu temu, PHP error log ili se obratite hosting podršci.
Nenad Mihajlović