Jak zwiększyć maksymalny rozmiar przesyłanych plików w WordPressie
Gdy podczas wgrywania zdjęcia, wtyczki, motywu albo pliku eksportu treści WordPress pokazuje komunikat w stylu „Plik przekracza maksymalny dozwolony rozmiar dla tej witryny”, winne są ustawienia PHP na Twoim hostingu, a nie sam WordPress. WordPress tylko odczytuje trzy wartości – upload_max_filesize, post_max_size i memory_limit – i pokazuje ich wynik jako limit w panelu Media. Ten poradnik pokazuje, jak podnieść te wartości krok po kroku: najpierw przez panel hostingowy, a jeśli to nie zadziała – przez plik .htaccess lub php.ini.
- Zaloguj się do panelu wp-admin i przejdź do Media → Dodaj nowy (lub Ustawienia → Media). Pod polem do wgrywania plików zobaczysz zdanie „Maksymalny rozmiar pliku do przesłania: X MB” – to jest Twój obecny limit, do którego będziesz się odnosić po każdej zmianie.
- Zaloguj się do panelu swojego hostingu (cPanel, DirectAdmin, Plesk albo panel własny dostawcy) i odszukaj sekcję zarządzania PHP – zwykle nazywa się „Wybierz wersję PHP”, „Ustawienia PHP”, „PHP Selector” albo „Konfiguracja PHP”.
- W ustawieniach PHP znajdź trzy dyrektywy: upload_max_filesize, post_max_size oraz memory_limit i zwiększ je, np. do 64M, 64M i 256M. Pamiętaj, żeby post_max_size był równy lub większy niż upload_max_filesize – inaczej wyższy limit i tak nie zadziała.
- Zapisz zmiany w panelu hostingowym i odczekaj kilka minut – część hostingów musi w tym czasie zrestartować usługę PHP-FPM, żeby nowe wartości zaczęły obowiązywać.
- Wróć do Media → Dodaj nowy w wp-admin i odśwież stronę (Ctrl+F5, żeby ominąć pamięć podręczną przeglądarki). Jeśli liczba przy „Maksymalny rozmiar pliku do przesłania” się zmieniła, panel hostingowy zadziałał i możesz pominąć dwa kolejne kroki.
- Jeśli Twój hosting nie ma opcji zmiany PHP w panelu (albo zmiana nic nie dała), połącz się z serwerem przez FTP lub menedżer plików i w głównym katalogu WordPressa – tym samym, w którym leży wp-config.php – dodaj na końcu pliku .htaccess następujące linie: php_value upload_max_filesize 64M, php_value post_max_size 64M, php_value memory_limit 256M. Zapisz plik i ponownie sprawdź limit w Media → Dodaj nowy.
- Jeśli po zapisaniu .htaccess strona pokazuje błąd 500 lub biały ekran, natychmiast usuń dodane linie i przywróć poprzednią wersję pliku – Twój hosting działa na PHP-FPM, a nie na mod_php, więc dyrektywy php_value w .htaccess nie są tam obsługiwane. Zamiast tego utwórz w tym samym katalogu plik o nazwie .user.ini (albo php.ini, jeśli hosting go rozpoznaje) i wpisz do niego te same trzy wartości bez słowa „php_value”, np. upload_max_filesize = 64M.
- Gdy limit w Media → Dodaj nowy pokazuje już właściwą, wyższą wartość, wgraj testowo plik, który wcześniej przekraczał stary limit, żeby upewnić się, że cała ścieżka – od formularza w WordPressie po serwer – rzeczywiście przyjmuje większe pliki.
Co zrobić, gdy coś pójdzie nie tak
Strona pokazuje błąd 500 albo biały ekran po zmianie .htaccess. To najczęstszy problem – Twój hosting korzysta z PHP-FPM lub CGI, gdzie dyrektywy php_value w .htaccess nie są dozwolone i powodują błąd krytyczny. Usuń dodane linie, przywróć działanie strony i przejdź do metody z plikiem .user.ini albo zmieniaj ustawienia wyłącznie przez panel hostingowy.
Limit się nie zmienia mimo zmian w panelu i w plikach. Część hostingów, zwłaszcza tańsze pakiety współdzielone, ma twardy limit ustawiony na poziomie całego serwera, którego nie da się przebić ani przez panel klienta, ani przez .htaccess. W takiej sytuacji napisz do wsparcia technicznego hostingu i poproś wprost o podniesienie upload_max_filesize oraz post_max_size dla Twojego konta – to zwykle zajmuje im kilka minut.
Limit w Media pokazuje wyższą wartość, ale duże pliki i tak nie chcą się wgrać, a w przeglądarce pojawia się błąd „413 Request Entity Too Large”. To już nie jest ograniczenie PHP, tylko limit serwera WWW (najczęściej nginx, dyrektywa client_max_body_size) stojącego przed Twoją stroną. Tego ustawienia nie zmienisz z poziomu WordPressa ani panelu PHP – trzeba poprosić o to hosting bezpośrednio.