WordPress nie wgrywa plików PDF – jak naprawić błąd uploadu?

Spis treści

Wprowadzenie – Problem z uploadem plików PDF w WordPress

Nie możesz wgrać pliku PDF do WordPress? To jeden z częstszych problemów, z jakimi borykają się właściciele stron. Próbujesz dodać dokument, prezentację lub instrukcję, a system odmawia współpracy i wyświetla tajemnicze komunikaty błędów.

Źródeł problemu może być kilka – ograniczenia serwera, nieprawidłowa konfiguracja WordPressa albo konflikty wtyczek bezpieczeństwa. W tym artykule omówię systematyczną diagnostykę i pokażę, jak rozwiązać najczęstsze przyczyny błędów uploadu PDF.

Zacznij od podstawowych sprawdzeń limitów, a następnie przejdź do bardziej zaawansowanych konfiguracji. W większości przypadków problem da się rozwiązać w kilka minut, bez kontaktu z hostingiem.

Krok 1: Sprawdzenie limitów upload_max_filesize i post_max_size

Najczęstszą przyczyną problemów z uploadem PDF są zbyt niskie limity rozmiaru plików ustawione na serwerze. WordPress nie narzuca własnych ograniczeń – to PHP na serwerze ma swoje limity.

Sprawdzenie aktualnych limitów

Przejdź do panelu WordPress:

  • Narzędzia → Zdrowie strony → Informacje
  • Rozwiń sekcję Serwer
  • Znajdź wartości dla upload_max_filesize i post_max_size
  • Sprawdź także memory_limit i max_execution_time

Typowe wartości domyślne i rekomendowane

  • Domyślnie: upload_max_filesize = 2M, post_max_size = 8M
  • Rekomendowane: upload_max_filesize = 64M, post_max_size = 128M
  • Dla dużych plików: upload_max_filesize = 256M, post_max_size = 512M

Metoda 1: Edycja pliku php.ini

Jeśli masz dostęp do pliku php.ini, dodaj lub zmodyfikuj następujące linie:

Ustaw wartość upload_max_filesize na 64M, post_max_size na 128M, memory_limit na 256M oraz max_execution_time na 300. Te parametry określają maksymalny rozmiar przesyłanego pliku, maksymalny rozmiar danych POST, limit pamięci PHP oraz maksymalny czas wykonywania skryptu.

Metoda 2: Edycja pliku .htaccess

Dodaj na końcu pliku .htaccess w głównym katalogu WordPress:

W sekcji php_value możesz ustawić upload_max_filesize, post_max_size, memory_limit oraz max_execution_time. Upewnij się, że Twój serwer obsługuje dyrektywy PHP w pliku .htaccess.

Metoda 3: Modyfikacja wp-config.php

Dodaj przed linią "That's all, stop editing!":

Możesz użyć funkcji ini_set, aby ustawić limity bezpośrednio w WordPress. Określ maksymalny rozmiar przesyłanych plików, rozmiar POST oraz limit pamięci.

Po zastosowaniu zmian przeładuj stronę i sprawdź ponownie w Zdrowie strony, czy limity się zaktualizowały. Jeśli nie, skontaktuj się z hostingiem – mogą mieć własne ograniczenia na poziomie serwera.

Krok 2: Analiza konfiguracji MIME types dla PDF

WordPress domyślnie obsługuje pliki PDF, ale serwer lub wtyczki mogą blokować ich upload z powodu nieprawidłowej konfiguracji typów MIME. Typ MIME dla PDF to application/pdf.

Sprawdzenie czy PDF jest w dozwolonych typach

Dodaj tymczasowo do functions.php motywu child (lub przez Code Snippets):

Możesz użyć funkcji wp_check_filetype, aby sprawdzić, czy WordPress rozpoznaje typ pliku PDF. Funkcja zwróci informacje o typie MIME i rozszerzeniu pliku.

Wynik powinien pokazać type: application/pdf oraz ext: pdf. Jeśli widzisz false lub błąd, oznacza to, że PDF nie jest prawidłowo rozpoznawany.

Dodanie PDF do dozwolonych typów MIME

Dodaj do functions.php:

Użyj hooka upload_mimes, aby dodać typ MIME dla plików PDF. Określ rozszerzenie pliku oraz jego typ MIME. Dzięki temu WordPress będzie akceptował pliki PDF podczas uploadu.

Konfiguracja .htaccess dla MIME types

Dodaj na końcu pliku .htaccess:

W sekcji AddType możesz jawnie zdefiniować typ MIME dla rozszerzenia PDF. Upewnij się, że serwer Apache obsługuje moduł mod_mime.

Jeśli interesuje Cię dodawanie innych typów plików do WordPress, polecam przeczytać artykuł: WordPress nie ładuje obrazków SVG mimo włączonej obsługi – jak to naprawić?, gdzie znajdziesz podobne techniki dla plików graficznych.

Krok 3: Testowanie uprawnień do katalogu uploads

Nieprawidłowe uprawnienia do katalogu wp-content/uploads to kolejna częsta przyczyna problemów z uploadem. WordPress musi mieć możliwość zapisu do tego katalogu.

Sprawdzenie uprawnień przez FTP

  1. Połącz się z serwerem przez FTP/SFTP (np. FileZilla)
  2. Przejdź do katalogu wp-content/uploads
  3. Kliknij prawym przyciskiem myszy → Atrybuty pliku/Uprawnienia
  4. Sprawdź aktualne uprawnienia

Rekomendowane uprawnienia

  • Foldery: 755 (rwxr-xr-x)
  • Pliki: 644 (rw-r--r--)
  • Właściciel: użytkownik serwera WWW (np. www-data, apache, nginx)

Zmiana uprawnień przez FTP

  1. Zaznacz katalog uploads
  2. Kliknij prawym → Atrybuty pliku
  3. Ustaw wartość numeryczną: 755
  4. Zaznacz opcję „Rekurencyjnie do podkatalogów"
  5. Zatwierdź zmiany

Zmiana uprawnień przez SSH

Jeśli masz dostęp SSH, wykonaj następujące komendy:

Przejdź do katalogu WordPress i użyj polecenia find aby ustawić uprawnienia rekursywnie. Dla katalogów ustaw 755, a dla plików 644. To zapewni odpowiednie prawa dostępu dla serwera WWW.

Sprawdzenie właściciela plików

Właścicielem plików powinien być użytkownik serwera WWW. Sprawdź przez SSH, kto jest właścicielem katalogu uploads. W razie potrzeby zmień właściciela, korzystając z polecenia chown.

Jeśli nie masz dostępu SSH lub FTP, skontaktuj się z hostingiem – administratorzy serwera mogą szybko naprawić uprawnienia.

Krok 4: Rozwiązanie konfliktów z wtyczkami bezpieczeństwa

Wtyczki bezpieczeństwa takie jak Wordfence, iThemes Security czy Sucuri często blokują upload plików PDF ze względów bezpieczeństwa. Mogą wykrywać pliki PDF jako potencjalnie niebezpieczne.

Najpopularniejsze wtyczki i ich konfiguracja

Wordfence Security

  1. Przejdź do Wordfence → Firewall → All Firewall Options
  2. Znajdź sekcję Rate Limiting Rules
  3. Sprawdź, czy PDF nie jest na czarnej liście
  4. W Advanced Firewall Options wyłącz "Block fake Google crawlers"
  5. Dodaj swój IP do białej listy w Whitelisted IP addresses

iThemes Security

  1. Przejdź do Security → Settings → Site Types
  2. Znajdź File Upload Protection
  3. Dodaj "pdf" do listy dozwolonych rozszerzeń
  4. Zapisz zmiany

Sucuri Security

  1. Przejdź do Sucuri Security → Settings
  2. W zakładce Hardening sprawdź opcje uploadów
  3. Upewnij się, że PDF nie jest blokowany
  4. Sprawdź logi w zakładce Audit Logs

Metoda diagnostyczna – wyłączanie wtyczek

  1. Wyłącz wszystkie wtyczki bezpieczeństwa
  2. Spróbuj wgrać plik PDF
  3. Jeśli działa – włączaj wtyczki pojedynczo
  4. Po włączeniu każdej testuj upload PDF
  5. Gdy znajdziesz winowajcę – skonfiguruj jego ustawienia

Sprawdzenie logów bezpieczeństwa

Większość wtyczek bezpieczeństwa przechowuje logi zablokowanych akcji. Sprawdź, czy w logach nie ma wpisów o zablokowanym uploadzie PDF. To pomoże zidentyfikować dokładną przyczynę blokady.

Krok 5: Weryfikacja konfiguracji serwera

Czasami problem leży po stronie serwera – mod_security, firewall aplikacyjny lub specyficzne reguły hostingu mogą blokować upload plików PDF.

Sprawdzenie mod_security

Mod_security to moduł Apache blokujący podejrzane żądania. Może błędnie identyfikować pliki PDF jako zagrożenie. Sprawdź logi mod_security w panelu hostingowym lub skontaktuj się z supportem.

Wyłączenie mod_security dla uploadu (tymczasowo)

Dodaj do .htaccess przed regułami WordPress:

Możesz tymczasowo wyłączyć mod_security dla katalogu wp-admin, używając dyrektywy SecRuleEngine Off. To pozwoli sprawdzić, czy mod_security jest przyczyną problemu. Pamiętaj, aby włączyć go z powrotem po testach.

Sprawdzenie logów błędów PHP

Logi błędów PHP mogą ujawnić dokładną przyczynę problemów z uploadem. Znajdź je w panelu hostingowym (często w sekcji „Error logs" lub „PHP error log").

Typowe błędy w logach i ich znaczenie

  • File upload error: przekroczony limit rozmiaru
  • No such file or directory: brak katalogu tymczasowego
  • Permission denied: brak uprawnień do zapisu
  • Failed to write to disk: pełny dysk lub brak miejsca

Kontakt z hostingiem

Jeśli wszystkie powyższe metody zawiodły, problem może leżeć w konfiguracji serwera, nad którą nie masz kontroli. Skontaktuj się z hostingiem i przekaż:

  • Dokładny komunikat błędu
  • Rozmiar pliku PDF który próbujesz wgrać
  • Wynik sprawdzenia limitów z Zdrowie strony
  • Informację czy problem dotyczy wszystkich PDF czy tylko niektórych

Krok 6: Alternatywne metody dodawania PDF

Jeśli standardowy upload nie działa mimo wszystkich prób naprawy, istnieją alternatywne metody dodawania plików PDF do WordPress.

Metoda 1: Upload przez FTP

  1. Połącz się z serwerem przez FTP
  2. Przejdź do wp-content/uploads/2025/09/
  3. Wgraj plik PDF bezpośrednio
  4. W WordPress wklej link do pliku ręcznie

Metoda 2: Użycie wtyczki do zarządzania mediami

Popularne wtyczki umożliwiające zaawansowane zarządzanie mediami:

  • Enable Media Replace – zamiana i upload plików
  • FileBird – organizacja i zarządzanie biblioteką mediów
  • Media Library Assistant – zaawansowane funkcje biblioteki

Metoda 3: Zewnętrzne hostowanie PDF

Możesz hostować pliki PDF na zewnętrznych serwisach:

  • Google Drive – darmowy hosting z możliwością udostępniania
  • Dropbox – łatwe udostępnianie przez link
  • CloudConvert – konwersja i hosting plików

Metoda 4: Użycie wtyczki PDF Embedder

Wtyczka PDF Embedder pozwala osadzać dokumenty PDF na stronie bez konieczności uploadu przez standardową bibliotekę mediów. Obsługuje także zewnętrzne linki do PDF.

Podsumowanie – Bezproblemowy upload dokumentów PDF

Problem z uploadem plików PDF w WordPress najczęściej wynika z ograniczeń serwera, nieprawidłowych uprawnień lub konfliktów z wtyczkami bezpieczeństwa. Przejście przez kolejne kroki diagnostyczne pozwoli zidentyfikować i rozwiązać problem.

Checklista rozwiązywania problemu

Podstawowe sprawdzenia:

  • Sprawdź aktualne limity w Narzędzia → Zdrowie strony
  • Zwiększ upload_max_filesize i post_max_size do minimum 64M
  • Zweryfikuj czy PDF jest w dozwolonych typach MIME
  • Sprawdź uprawnienia katalogu wp-content/uploads (755)

Zaawansowana diagnostyka:

  • Wyłącz wtyczki bezpieczeństwa i testuj upload
  • Sprawdź logi błędów PHP i mod_security
  • Skontaktuj się z hostingiem w sprawie limitów serwera
  • Rozważ alternatywne metody uploadu (FTP, zewnętrzne hostowanie)

Najczęstsze błędy i szybkie rozwiązania

Błąd: "The uploaded file exceeds the upload_max_filesize directive"

Rozwiązanie: Zwiększ limit w php.ini, .htaccess lub wp-config.php

Błąd: "HTTP error" podczas uploadu

Rozwiązanie: Zwiększ memory_limit i max_execution_time, sprawdź konflikty wtyczek

Błąd: "Missing a temporary folder"

Rozwiązanie: Sprawdź upload_tmp_dir w php.ini, skontaktuj się z hostingiem

Błąd: "Failed to write file to disk"

Rozwiązanie: Sprawdź uprawnienia katalogu uploads i dostępne miejsce na dysku

Podsumowanie

W większości przypadków problem z uploadem PDF można rozwiązać w ciągu kilku minut przez zwiększenie limitów PHP lub poprawę uprawnień. Jeśli problem się utrzymuje mimo wszystkich prób, skontaktuj się z hostingiem – mogą mieć specyficzne ograniczenia wymagające interwencji administratora.

Pamiętaj aby po rozwiązaniu problemu przetestować upload kilku różnych plików PDF o różnych rozmiarach, aby upewnić się że rozwiązanie działa stabilnie.

Masz problemy z uploadem plików w WordPress? Chętnie pomożemy Ci zdiagnozować i naprawić konfigurację serwera, aby upload działał bez zakłóceń. Skontaktuj się z nami po profesjonalne wsparcie techniczne.