Instrukcja odblokowania limitów uploadu plików w WordPress

Spis treści

Wprowadzenie – dlaczego limity uploadu są problemem

Standardowe limity uploadu w WordPress to zazwyczaj 2-8 MB, co jest wystarczające dla małych plików, ale stanowi poważne ograniczenie przy pracy z większymi zasobami. Współczesne strony internetowe często wymagają przesyłania dużych plików – od wysokiej jakości obrazów po dokumenty PDF, wideo czy paczki z motywami.

Problem z limitami uploadu dotyka szczególnie właścicieli sklepów internetowych, agencji kreatywnych i portali, gdzie regularnie przesyłane są duże pliki. Zbyt niskie limity mogą uniemożliwić dodawanie produktów z wysokiej rozdzielczością zdjęć, importowanie danych czy aktualizację motywów.

W tej instrukcji przeprowadzę Cię przez wszystkie metody odblokowania limitów uploadu – od prostych zmian w konfiguracji po zaawansowane modyfikacje serwera. Każda metoda ma swoje zalety i ograniczenia, dlatego warto znać wszystkie opcje.

Najczęstsze przyczyny limitów uploadu

Zanim przejdziemy do rozwiązań, warto zrozumieć, skąd biorą się te ograniczenia. Limity uploadu są zazwyczaj ustawione na kilku poziomach:

1. Konfiguracja PHP

PHP ma wbudowane dyrektywy, które kontrolują maksymalny rozmiar przesyłanych plików:

  • upload_max_filesize – maksymalny rozmiar pojedynczego pliku
  • post_max_size – maksymalny rozmiar całego żądania POST
  • memory_limit – limit pamięci dla skryptów
  • max_execution_time – maksymalny czas wykonania skryptu

2. Konfiguracja serwera WWW

Serwer Apache lub Nginx może mieć własne ograniczenia:

  • LimitRequestBody (Apache) – limit rozmiaru ciała żądania
  • client_max_body_size (Nginx) – maksymalny rozmiar ciała żądania klienta

3. Ograniczenia hostingowe

Dostawcy hostingu często nakładają dodatkowe limity:

  • Limity na rozmiar plików w panelu kontrolnym
  • Ograniczenia czasowe wykonywania skryptów
  • Limity zużycia zasobów CPU i pamięci

Metoda 1: Modyfikacja pliku php.ini

Najskuteczniejszą metodą zmiany limitów uploadu jest modyfikacja pliku konfiguracyjnego PHP. Niestety, na większości hostingu współdzielonego nie masz dostępu do głównego pliku php.ini, ale często możesz stworzyć lokalną wersję.

Krok 1: Znajdź lub stwórz plik php.ini

  1. Zaloguj się do swojego konta hostingowego przez FTP lub panel zarządzania
  2. Przejdź do głównego katalogu WordPress
  3. Szukaj pliku php.ini
  4. Jeśli nie istnieje, stwórz nowy plik o tej nazwie

Krok 2: Dodaj odpowiednie dyrektywy

Otwórz plik php.ini i dodaj następujące linie:

  • upload_max_filesize = 64M – zwiększa limit rozmiaru pliku do 64 MB
  • post_max_size = 64M – ustawia limit całego żądania POST
  • memory_limit = 256M – zwiększa limit pamięci dla skryptów
  • max_execution_time = 300 – wydłuża czas wykonania do 300 sekund
  • max_input_time = 300 – wydłuża czas przetwarzania danych wejściowych

Krok 3: Zrestartuj serwer

Po zapisaniu zmian w php.ini, zrestartuj serwer Apache lub PHP-FPM, aby zmiany zostały zastosowane. Na hostingu współdzielonym może to wymagać kontaktu z supportem.

Metoda 2: Konfiguracja pliku .htaccess

Jeśli nie masz dostępu do php.ini, możesz spróbować zmienić limity przez plik .htaccess. Ta metoda działa na serwerach Apache z włączonym modułem mod_php.

Krok 1: Znajdź plik .htaccess

  1. Zaloguj się do swojego konta przez FTP
  2. Przejdź do głównego katalogu WordPress
  3. Znajdź plik .htaccess (może być ukryty)

Krok 2: Dodaj dyrektywy PHP

Na końcu pliku .htaccess dodaj następujące linie:

  • php_value upload_max_filesize 64M
  • php_value post_max_size 64M
  • php_value memory_limit 256M
  • php_value max_execution_time 300
  • php_value max_input_time 300

Krok 3: Sprawdź wyniki

Zapisz plik i odśwież stronę. Sprawdź w panelu WordPress w sekcji Media → Dodaj, czy limity zostały zwiększone.

Metoda 3: Modyfikacja pliku functions.php

Inną metodą jest dodanie kodu PHP do pliku functions.php swojego motywu. Ta metoda jest mniej niezawodna, ale może działać, gdy inne opcje zawiodą.

Krok 1: Edytuj plik functions.php

  1. Przejdź do Wygląd → Edytor motywów w panelu WordPress
  2. Wybierz plik functions.php
  3. Dodaj na końcu pliku następujący kod:

Krok 2: Dodaj kod PHP

Dodaj następujące funkcje do pliku functions.php:

  • @ini_set('upload_max_filesize', '64M');
  • @ini_set('post_max_size', '64M');
  • @ini_set('memory_limit', '256M');
  • @ini_set('max_execution_time', '300');

Uwaga:

Ta metoda może nie działać na wszystkich serwerach, ponieważ niektórzy dostawcy hostingu blokują zmiany ustawień PHP przez skrypty.

Metoda 4: Edycja pliku wp-config.php

Możesz również spróbować dodać kod do pliku wp-config.php, który jest głównym plikiem konfiguracyjnym WordPress.

Krok 1: Znajdź plik wp-config.php

  1. Zaloguj się przez FTP do swojego serwera
  2. Znajdź plik wp-config.php w głównym katalogu WordPress
  3. Stwórz kopię zapasową pliku przed edycją

Krok 2: Dodaj kod PHP

Przed linią /* That's all, stop editing! */ dodaj:

  • @ini_set('upload_max_filesize', '64M');
  • @ini_set('post_max_size', '64M');
  • @ini_set('memory_limit', '256M');
  • @ini_set('max_execution_time', '300');

Metoda 5: Konfiguracja serwera

Jeśli masz dostęp do konfiguracji serwera (VPS lub dedykowany), możesz zmienić limity na poziomie serwera WWW.

Dla serwera Apache:

W pliku konfiguracyjnym Apache (httpd.conf lub apache2.conf) dodaj:

  • LimitRequestBody 67108864 (64 MB w bajtach)

Dla serwera Nginx:

W pliku nginx.conf w sekcji http lub server dodaj:

  • client_max_body_size 64M;

Pamiętaj:

Po zmianach w konfiguracji serwera zawsze zrestartuj usługę, aby zastosować zmiany.

Metoda 6: Użycie wtyczek

Jeśli nie czujesz się komfortowo z edycją plików konfiguracyjnych, możesz użyć wtyczki do zarządzania limitami uploadu.

Popularne wtyczki:

  • Increase Max Upload Filesize – prosta wtyczka do zwiększania limitów
  • WP Maximum Upload File Size – pozwala zmienić limity przez panel administracyjny
  • Upload Max File Size – dodaje opcje w Ustawienia → Media

Zalety wtyczek:

  • Prosta instalacja i konfiguracja
  • Brak potrzeby edycji plików
  • Interfejs graficzny

Wady wtyczek:

  • Dodatkowe obciążenie strony
  • Potencjalne konflikty z innymi wtyczkami
  • Mogą nie działać na niektórych serwerach

Jeśli interesuje Cię rozwiązywanie problemów z uploadem plików, polecam przeczytać artykuł: Jak naprawić błąd 'The uploaded file exceeds upload_max_filesize', gdzie znajdziesz więcej szczegółów na temat diagnozowania i naprawiania konkretnych błędów uploadu.

Kwestie bezpieczeństwa

Zwiększanie limitów uploadu niesie ze sobą pewne ryzyka bezpieczeństwa, o których warto pamiętać:

1. Ograniczenia typów plików

Upewnij się, że WordPress blokuje niebezpieczne typy plików. W pliku wp-config.php możesz dodać:

  • define('ALLOW_UNFILTERED_UPLOADS', false);

2. Skanowanie antywirusowe

Zainstaluj wtyczkę do skanowania przesyłanych plików, taką jak Wordfence lub Sucuri Security.

3. Monitorowanie rozmiaru plików

Nawet po zwiększeniu limitów, monitoruj rozmiary przesyłanych plików, aby uniknąć nadmiernego zużycia zasobów serwera.

4. Kopie zapasowe

Zwiększone limity uploadu oznaczają większe pliki w bibliotece mediów. Upewnij się, że masz wystarczająco dużo miejsca na kopie zapasowe.

Podsumowanie

Odblokowanie limitów uploadu plików w WordPress to proces, który może wymagać kilku prób różnych metod. Najskuteczniejszą opcją jest modyfikacja pliku php.ini, ale jeśli nie masz dostępu, alternatywą są pliki .htaccess lub functions.php.

Checklista optymalnej konfiguracji:

Podstawowe ustawienia:

  • Ustaw upload_max_filesize na co najmniej 64 MB
  • Skonfiguruj post_max_size na wartość równą lub większą niż upload_max_filesize
  • Zwiększ memory_limit do co najmniej 256 MB
  • Wydłuż max_execution_time do 300 sekund

Bezpieczeństwo:

  • Blokuj niebezpieczne typy plików
  • Instaluj wtyczki antywirusowe
  • Monitoruj zużycie zasobów serwera
  • Regularnie twórz kopie zapasowe

Najczęstsze problemy i rozwiązania:

Problem #1: Zmiany w php.ini nie działają

Rozwiązanie: Spróbuj użyć pliku .htaccess lub skontaktuj się z supportem hostingu

Problem #2: Błąd 500 po modyfikacji .htaccess

Rozwiązanie: Sprawdź składnię pliku i upewnij się, że serwer obsługuje dyrektywy PHP

Problem #3: Limity nadal są niskie mimo zmian

Rozwiązanie: Sprawdź panel kontrolny hostingu – może tam są dodatkowe ograniczenia

Pamiętaj, że zwiększenie limitów uploadu to tylko część rozwiązania problemu. Równie ważne jest optymalizowanie rozmiaru plików przed przesłaniem, kompresja obrazów i wybór odpowiedniego formatu plików.

Jeśli chcesz dowiedzieć się więcej o optymalizacji mediów w WordPress, polecam nasz artykuł o czyszczeniu i optymalizacji katalogu uploads, który zawiera dodatkowe wskazówki dotyczące zarządzania plikami.

Masz problemy z limitami uploadu plików na swojej stronie WordPress? Chętnie pomożemy Ci skonfigurować optymalne ustawienia, które pozwolą na przesyłanie większych plików bez compromising bezpieczeństwa. Skontaktuj się z nami, aby uzyskać profesjonalne wsparcie w konfiguracji serwera i WordPress.