Błąd 500 WordPress - diagnoza i naprawa

Internal Server Error 500 to jeden z najbardziej frustrujących błędów WordPress. Strona nie działa, brak szczegółów. Przyczyny mogą być różne - od zepsutej wtyczki po błąd w .htaccess. Pokażę jak zdiagnozować i naprawić.

Krótka odpowiedź

Błąd 500 najczęściej: zepsuta wtyczka/motyw, błąd w .htaccess, limit pamięci PHP, błąd w wp-config.php. Diagnoza: włącz WP_DEBUG, sprawdź error.log. Naprawa: wyłącz wtyczki (FTP), przywróć .htaccess, zwiększ limity PHP.

Najczęstsze przyczyny

1. Zepsuta wtyczka:
- Najczęstsza przyczyna
- Błąd PHP w kodzie wtyczki
- Konflikt między wtyczkami
- Po aktualizacji

2. Błąd w .htaccess:
- Nieprawidłowe reguły
- Uszkodzony plik
- Konflikt reguł

3. Limit pamięci PHP:
- Memory exhausted
- Zbyt niski limit (32MB, 64MB)

4. Błąd w wp-config.php:
- Literówka
- Brak średnika
- Nieprawidłowe dane bazy

5. Zepsuta instalacja WordPress:
- Uszkodzone pliki core
- Niepełna aktualizacja

Diagnoza - włącz debugowanie

WP_DEBUG:
Przez FTP edytuj wp-config.php:
```php
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
```

Sprawdź logi:
- wp-content/debug.log
- Znajdź: Fatal error, line X
- To wskazuje na winowajcę

Error log serwera:
- cPanel → Error Log
- /var/log/apache2/error.log
- /var/log/php/error.log

Jeśli brak dostępu do plików:
- cPanel File Manager
- phpMyAdmin (dla wp_options)

Naprawa - krok po kroku

Krok 1: Wyłącz wtyczki (FTP):
1. wp-content/plugins/ → zmień nazwę na plugins_old
2. Odśwież stronę
3. Jeśli działa = winowajca to wtyczka
4. Przywróć plugins, wyłączaj pojedynczo

Krok 2: Sprawdź/przywróć .htaccess:
1. .htaccess → zmień nazwę na .htaccess_old
2. Odśwież stronę
3. Jeśli działa → odtwórz domyślny:
```apache
# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress
```

Krok 3: Zwiększ limit pamięci:
wp-config.php:
```php
define('WP_MEMORY_LIMIT', '256M');
```

Krok 4: Zmień motyw:
Przez phpMyAdmin:
```sql
UPDATE wp_options SET option_value = 'flavor' WHERE option_name = 'stylesheet';
UPDATE wp_options SET option_value = 'flavor' WHERE option_name = 'template';
```

Zaawansowana diagnostyka

PHP version:
- Niezgodność PHP 8.x z starymi wtyczkami
- Obniż PHP w panelu hostingu
- Lub zaktualizuj wtyczki

Uszkodzone pliki core:
```bash
wp core verify-checksums
wp core download --force
```

Baza danych:
- wp_options z dużą autoload = problem
- Napraw: wp-admin/maint/repair.php

Timeout:
- php.ini: max_execution_time = 300
- .htaccess: php_value max_execution_time 300

Plik debug:
- Jeśli debug.log nie powstaje
- Sprawdź uprawnienia wp-content (755)
- touch wp-content/debug.log
- chmod 666 debug.log

Wspomniane narzędzia

WP_DEBUG FTP phpMyAdmin .htaccess Error Log

Najczęściej zadawane pytania

Jak naprawić błąd 500 bez dostępu do FTP?
cPanel → File Manager działa jak FTP. Lub phpMyAdmin - możesz wyłączyć wtyczki przez bazę danych (UPDATE wp_options SET option_value = '' WHERE option_name = 'active_plugins'). Skontaktuj się z hostingiem - mogą pomóc lub dać awaryjny dostęp.
#wordpress#błąd-500#naprawa#debug#troubleshooting

Potrzebujesz pomocy specjalisty?

Skorzystaj z naszych usług w największych miastach Polski