Awarie
„Plik jest za duży, żeby go wgrać” — jak podnieść limit
WordPress odmawia przyjęcia pliku, bo serwer ma limit uploadu — często 2 MB. Gdzie go zmienić, czemu zmiana czasem nie działa i kiedy plik wgrać inaczej.
„Plik przekracza maksymalny rozmiar dozwolony w tej witrynie” — po angielsku exceeds the maximum upload size for this site. WordPress nie ma nic przeciwko Twojemu plikowi; to serwer ustawił limit wgrywania, a na wielu hostingach domyślnie wynosi on absurdalnie mało — 2 albo 8 MB.
Aktualny limit podejrzysz w Media → Dodaj nowy — jest wypisany drobnym drukiem pod polem wgrywania.
Trzy ustawienia, które muszą się zgadzać
Limit uploadu to w rzeczywistości trzy wartości PHP i liczy się najniższa z nich:
upload_max_filesize— maksymalny rozmiar jednego pliku,post_max_size— maksymalny rozmiar całego żądania; musi być równy lub większy niż poprzedni,memory_limit— limit pamięci, który przy przetwarzaniu dużych obrazków też potrafi być wąskim gardłem.
Klasyczna pułapka: ktoś podnosi upload_max_filesize do 64 MB, zostawia post_max_size na 8 MB i limit dalej wynosi 8.
Gdzie zmienić limit
Panel hostingu — zacznij tutaj. Prawie każdy polski hosting ma w panelu sekcję ustawień PHP, gdzie upload_max_filesize i post_max_size zmienia się z listy rozwijanej. Zmiana działa w minutę i przeżyje każdą aktualizację strony.
Plik .user.ini albo php.ini w katalogu głównym strony, jeśli panel nie daje takiej opcji:
upload_max_filesize = 64M
post_max_size = 64M
Po zapisaniu odczekaj kilka minut — serwery czytają ten plik z opóźnieniem.
.htaccess — tylko na serwerach, gdzie PHP działa jako moduł Apache (dziś rzadkość). Linie php_value upload_max_filesize 64M na typowym hostingu z PHP-FPM spowodują błąd 500, więc jeśli po edycji .htaccess strona padła, natychmiast cofnij zmianę.
Jeśli żadna z dróg nie działa, limit jest narzucony globalnie przez hosting — napisz do nich albo potraktuj to jako jeden z sygnałów, że hosting Cię wyrósł.
Gdy limit jest w porządku, a upload i tak pada
Błąd 413 (Request Entity Too Large) — limit ustawiony nie w PHP, tylko na serwerze WWW albo w Cloudflare (darmowy plan: 100 MB). Tego nie zmienisz w WordPressie.
„HTTP error” w połowie wgrywania obrazka — zwykle brakuje pamięci albo czasu na przeskalowanie dużego zdjęcia. Zmniejsz zdjęcie przed wgraniem — fotografia z telefonu ma często 8000 pikseli szerokości, a strona i tak wyświetli maksymalnie 1200–2000.
Błąd 403 przy konkretnym pliku — reguła bezpieczeństwa ModSecurity na serwerze uznała plik za podejrzany. To załatwia się zgłoszeniem do hostingu, nie limitem.
Zanim podniesiesz limit do 512 MB — po co Ci taki plik na stronie?
Limit uploadu jest niski nie ze złośliwości: chroni serwer przed zapchaniem. Zanim go podniesiesz, sprawdź, czy w ogóle tędy droga:
- Filmy nie powinny leżeć na hostingu. Wrzuć na YouTube albo Vimeo i osadź na stronie — hosting współdzielony nie jest zbudowany do streamingu i film będzie się zacinał,
- duże paczki (motyw, wtyczka, backup) wgraj przez FTP zamiast przez przeglądarkę — bez żadnych limitów PHP,
- ciężkie zdjęcia kompresuj przed wgraniem; nadwaga obrazków to najczęstszy powód wolnej strony.
Ile to zajmuje
Zmiana limitu w panelu hostingu — 5 minut. Diagnoza, czemu zmiana nie działa (który z trzech limitów blokuje, czy to nie 413 z proxy) — do pół godziny. Warto zlecić, gdy hosting odmawia współpracy albo gdy upload pada mimo poprawnych limitów — wtedy odpowiedź siedzi w logach serwera.
Nie możesz wgrać plików, a wsparcie hostingu odsyła Cię z kwitkiem? Ustawimy to — bezpłatna diagnoza, reakcja w ciągu dwóch godzin, od 120 zł netto za godzinę, płatność po wykonaniu.