WordPress

500 Internal Server Error na WordPress strani

Napaka 500 lahko pomeni mnogo stvari in je lahko povzročena zaradi veliko vzrokov, vsekakor pa napako želimo čim hitreje odpraviti, da bo naša spletna stran spet dosegljiva uporabnikom spleta. 

Najpogostejši vzroki za 500 Internal Server Error

Našteli bomo ene izmed najpogostejših vzrokov zakaj do omenjene napake lahko pride:

  • Koruptirana .htacces datoteka
  • Pomanjkanje PHP spomina oz. limit na strežniku
  • Napačna dovoljenja za mape in datoteke
  • PHP napake na t.i. vtičnikih tretjih oseb (slabo programirani vtičniki)
  • Napake na slabo programiranih temah
  • Koruptirane datoteke samega jedra WordPressa
  • Koruptirana baza podatkov
  • Nepravilni podatki za prijavo v bazo podatkov
  • Predpomnilnik brskalnika

Nekaj različic, kako lahko izgleda napaka

  • “500 Internal Server Error”
  • “HTTP 500”
  • “Internal Server Error”
  • “HTTP 500 – Internal Server Error”
  • “500 Error”
  • “HTTP Error 500”
  • “500 – Internal Server Error”
  • “500 Internal Server Error. Sorry something went wrong.”
  • “500. That’s an error. There was an error. Please try again later. That’s all we know.”
  • “The website cannot display the page – HTTP 500.”
  • “Is currently unable to handle this request. HTTP ERROR 500.”

Kako najhitreje popraviti 500 Internal Server Error

Pobrišite predpomnilnik brskalnika

Preden pogledate v svoj Error Log in pričnete z odpravljanje napake, vedno pobrišite predpomnilnik brskalnika (Clear Browser Cache). 
Ko boste to storili, osvežite stran.

Preverite Error Log

Error Log se nahaja v vaši kontrolni plošči gostovanja. 
A. cPanel: prijavite se v svoj cPanel > Metrics > Errors

B. Direct Admin: prijavite se v svoj Direct Admin > Systems info and files > Site Summary / Statistics / Logs > kliknite na domeno

Error logi vam dajo dober vpogled v napake in tako lahko odlično pripomorejo k zožitvi kje bi lahko bila težava. 

Napaka pri povezavi z bazo podatkov (error establishing a database connection)

A. Najpogostejši vzrok te napake je napačna poverilnica za prijavo v bazo podatkov

Vsi pomembni detajli (database name, MySQL database username, MySQL database password in MySQL hostname) za vašo WordPress spletno stran se nahajajo v datoteki wp-config.php. 

Povežite se na svojo spletno stran preko FTP-ja, poiščite wp-config.php in potem odprite vse zgoraj omenjene podatke. Preverite ali imate zadeve pravilno urejene, če ne, jih popravite. 

B. Koruptirana podatkovna baza

Ta napaka je sicer bolj redka, vendar se lahko zgodi. Če se prijavite v nadzorno ploščo vaše WordPress spletne strani in prejmete sledeče sporočilo:

“One or more database tables are unavailable. The database may need to be repaired”

To navadno pomeni, da je vaša podatkovna baza koruptirana. 

Zadevo lahko popravite s sledečo kodo, ki jo dodate na konec vaše wp-config.php datoteke:

C. Koruptirane datoteke

Ta napaka se najpogosteje pojavi, ko gre za vdor v spletno stran.

Preden se lotite odprave si obvezno uredite varnostno kopijo, saj, da boste lahko popravili koruptirane datoteke boste potrebovali svežo kopijo WordPressa, menjali (popravili) boste namreč celotno jedro. 

  • Iz strani wordpress.org si prenesite nov WordPress 
  • Odzipajte datoteko na vašem računalniku, znotraj nje pobrišite mapo wp-content in datoteko wp-config-seple.php. 
  • 3. Preostale datoteke naložite na vašo stran preko FTPja, to bo prepisalo vaše obstoječe datoteke in zamenjalo težavne (koruptirane ) datoteke z novimi, še čisto svežimi. 
  • 4. Po končanem nalaganju izbrišite predpomnilnik brskalnika in preverite vašo spletno stran. 

Težava v .htaccess datoteki

V kolikor bi lahko bila koruptirana .htaccess datoteka, naredite sledeče:
1. Na vašo stran se prijavite preko FTPja
2. Preimenujte .htaccess datoteko v .htaccess_old
3. Novo, svežo .htaccess datoteko ustvarite s sledečo kodo, ki jo naložite na vaš strežnik.

# 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

Omejen spomin (PHP Memory limit)

Povečajte spomin. 
To lahko storite na dva načina: 
preko kontrolne plošče gostovanja ali wp-config.php datoteke.

A. Kontrolna plošča gostovanja
V cPanelu pojdite pod Software > Select PHP Version > Switch to PHP options > memory_limit (ki ga lahko izberete) > Save
DirectAdminu pojdite pod Extra Features> Select PHP Version > Switch to PHP options > memory_limit (ki ga lahko izberete) > Save

Pri čemer je treba še upoštevati, da opcije za Switch to PHP options ni na voljo, če je izbran Native PHP.

B. wp-config.php datoteka
Na spletno stran se prijavite preko FTP-ja. Pod wp-config.php dodajte spredaj (na zgornjo stran kode) sledeče: 
define ( ‘WP_MEMORY_LIMIT’ , ‘128’ ) ;
Številka je lahko tudi višja, npr. 512. 

Pravilne nastavitve dovoljenj

WordPress ima tri pravila, kar se tiče dovoljenj:

  • Mape morajo imeti 755 ali 775 dovoljenje
  • Datoteke morajo imeti 664 ali 644 dovoljenje
  • wp-config.php mora biti 644 ali 640

A. Prenesite si FileZilla FTP program (https://filezilla-project.org)

B. Ko se boste povezali na svoj strežnik, boste lahko preverili katera dovoljenja imate urejena. To storite tako, da uporabite desni klik na datoteko ali mapo in kliknete na File permissions oz. pri mapi File Attributes.

C. Uredimo prvo Mape (directories):
– Desni klik na mapo public_html (tu se namreč mora nahajati vaša stran) > File Attributes.
– Ko boste pod File Attributes
Pod Owner permissions označite Read, Write in Execute.
Pod Group permissions nastavite samo Read in Execute.
Pod public_html permissions označite Read in Execute.
– Ko boste izbrali File Attributes pod Numeric value vpišete dovoljenje 755 ali 750
– Obkljukajte Recurse into subdirectories in označite Apply to directory only
– Kliknite na gumb OK

D. Sledi urejanje Datotek (files):
– Desni klik na datoteko > File Attributes
– Ko boste pod File Attributes
Pod Owner permissions označite Read in Write.
Pod Group permissions nastavite samo Read in Execute.
Pod Public permissions označite Read in Execute.
– Ko boste izbrali File Attributes pod Numeric value vpišete dovoljenje 644 ali 640
– Obkljukajte Recurse into subdirectories in označite Apply to files only
– Kliknite na gumb OK

E. Sedaj uredimo še wp-config.php
Desni klik na datoteko > File Attributes
– Ko boste pod File Attributes
Pod Owner permissions označite Read.
Pod Group permissions nastavite Read.
Pod Public permissions ne označite ničesar.
– Ko boste izbrali File Attributes pod Numeric value vpišete dovoljenje 644 ali 640. 
– Kliknite na gumb OK

Če je bila težava v dovoljenih, bi po ureditvi vaša stran morala delovati.

Ponovna namestitev jedra WordPressa

Zelo redko se zgodi, a se lahko zgodi, da je koruptirano WordPress jedro, še posebej, če gre za starejše spletne strani. 

Kako ročno znova namestiti WordPress prek FTP, hkrati pa ohraniti obstoječo vsebino? 

1. Ponovno namestite, preko wordpress.org, najnovejši WordPress.
2. Ko boste to storili, v računalnik izvlečete celotno vsebino datoteke ZIP.
3. Izbrišite datoteko wp-content.
4. Povežite se na gostovanje preko FTPja in naložite ostale datoteke v mapo kjer je prvotno nameščen WordPress (public_html). 
5. FTP vam bo prikazal obvestilo “ The target file already exists. Please choose an action.” Pod Action izberite Overwrite in kliknite na gumb OK. 
6. To bo prepisalo jedro, brez, da bi se kakorkoli dotaknilo tem ali vtičnikov. 

Preverite teme in vtičnike

Neoriginalni vtičniki in teme prav tako lahko povzročijo Internal server error 500.

A. Vtičniki
Prijavite se v WordPress administracijo, pojdite pod Plugins > označite vse vtičnike in pod Bulk Actions izberite Deactivate > kliknite Apply.
S tem ukazom boste izklopili vse vaše vtičnike. 

V kolikor je ta akcija rešila vaš problem bele strani, potem bo potrebno najti vtičnik, ki vam povzroča težave. 
To storite tako, da ročno in počasi začnete vklapljati vtičnike enega po enega, ob pojavu napake, ste našli pravi vtičnik. 
Najbolje bo, da se s svojim razvijalcem posvetujete kateri drugi vtičnik bi bil najbolj primeren za zamenjavo ali se z napako obrnite direktno na razvijalca vtičnika, da jo lahko odpravi. 

Kaj pa če ne morete v WordPress administracijo?
V tem primeru se na stran povežite preko FTP-ja > poiščite mapo plugins ter jo preimenujte (npr. plugins-deactivated). 

V kolikor je ta akcija rešila vaš problem bele strani, potem je potrebno samo še najti vtičnik, ki vam povzroča težave. 
To storite tako, da mapo, ki ste jo preimenovali poimenujete nazaj na prvotno stranje (torej plugins), v mapi se nahajajo mape imenovane po vtičnikih, preimenujte posamezne mape vtičnikov, tako boste našli vtičnik, ki vam povzroča težave. 

Najbolje bo, da se s svojim razvijalcem posvetujete kateri drugi vtičnik bi bil najbolj primeren za zamenjavo ali se z napako obrnite direktno na razvijalca vtičnika, da jo lahko odpravi.

B. Teme
Sledite postopku zgoraj, le da se tokrat osredotočite na izklop in vklop tem. 

Vir: 

Related Posts