Spis treści
- Wprowadzenie – dlaczego limity uploadu są problemem
- Najczęstsze przyczyny limitów uploadu
- Metoda 1: Modyfikacja pliku php.ini
- Metoda 2: Konfiguracja pliku .htaccess
- Metoda 3: Modyfikacja pliku functions.php
- Metoda 4: Edycja pliku wp-config.php
- Metoda 5: Konfiguracja serwera
- Metoda 6: Użycie wtyczek
- Kwestie bezpieczeństwa
- Podsumowanie
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
- Zaloguj się do swojego konta hostingowego przez FTP lub panel zarządzania
- Przejdź do głównego katalogu WordPress
- Szukaj pliku php.ini
- 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
- Zaloguj się do swojego konta przez FTP
- Przejdź do głównego katalogu WordPress
- 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
- Przejdź do Wygląd → Edytor motywów w panelu WordPress
- Wybierz plik functions.php
- 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
- Zaloguj się przez FTP do swojego serwera
- Znajdź plik wp-config.php w głównym katalogu WordPress
- 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
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.