Czy próbujesz wgrać duży plik do biblioteki mediów WordPressa i za każdym razem napotykasz frustrujący limit 2MB? Ten problem jest powszechny na serwerach z zaawansowaną konfiguracją (taką jak ISPConfig zarządzający Nginxem i OpenLiteSpeed/PHP-FPM), ponieważ limit jest ustawiony w kilku miejscach jednocześnie.
Oto przewodnik, jak poprawnie ustawić maksymalny rozmiar przesyłanego pliku na 200MB (lub więcej).
🧐 Skąd się bierze limit 2MB?
W złożonej architekturze serwerowej, gdzie żądanie przechodzi przez Reverse Proxy (Nginx), trafia do serwera WWW (OpenLiteSpeed) i jest przetwarzane przez PHP-FPM, limit rozmiaru pliku jest kontrolowany na trzech głównych poziomach:
- Poziom Nginx (Reverse Proxy): Domyślny limit na poziomie serwera, który akceptuje żądanie. Nginx może odrzucić plik, zanim trafi on do PHP.
- Poziom PHP-FPM: Dyrektywy
upload_max_filesizeipost_max_size. - Poziom OpenLiteSpeed (Web Server): Własne limity żądań serwera WWW.
W naszym przypadku, mimo ręcznych zmian w pliku php.ini, limit 2MBbył nadpisywany na poziomie konfiguracji Virtual Hosta generowanej przez Nginx/ISPConfig, która miała wyższy priorytet.
🛠️ Rozwiązanie Krok po Kroku
Aby skutecznie podnieść limit, musimy go podnieść na poziomie Nginx/ISPConfig oraz PHP-FPM.
Krok 1: Zmiana Dyrektywy w Nginx (Kluczowe Działanie)
Ponieważ używasz ISPConfig, najbezpieczniej jest wprowadzić zmiany za pomocą jego interfejsu, dzięki czemu zostaną one automatycznie wdrożone do konfiguracji Nginx dla Twojej strony.
- Zaloguj się do ISPConfig.
- Przejdź do Sites (Strony) -> Websites (Strony internetowe).
- Edytuj (ikonka ołówka) Twoją stronę WordPress.
- Przejdź do zakładki Options (Opcje).
- Odszukaj pole tekstowe: Nginx Directives (Dyrektywy Nginx).
- Wprowadź tam następującą dyrektywę, ustawiając żądany rozmiar (w tym przykładzie 200MB)Nginx:
client_max_body_size 200M; - Zapisz zmiany. ISPConfig automatycznie przeładowuje konfigurację Nginx.
Wyjaśnienie: Dyrektywa
client_max_body_sizeinformuje Nginx, że może zaakceptować żądanie o wielkości do 200MB. To jest „bramka”, która wcześniej blokowała pliki np 100MB.
Krok 2: Zwiększenie Limitów w PHP-FPM (Jeśli Konieczne)
Mimo że dyrektywa Nginx często bywa głównym blokerem, musisz upewnić się, że PHP jest na to przygotowane.
Jeśli ISPConfig nie pozwala na edycję limitów PHP w interfejsie (jak w Twoim przypadku), użyj pliku .user.ini, który ma najwyższy priorytet w konfiguracji:
- Przejdź do głównego katalogu Twojej instalacji WordPress (tam, gdzie znajduje się plik
wp-config.php). - Utwórz plik o nazwie:
.user.ini - Wklej do niego dyrektywy PHP, również ustawiając 200MB: .user.iniIni, TOML
upload_max_filesize = 200M post_max_size = 200M - Wykonaj restart usługi PHP-FPM (np.
sudo systemctl restart php8.4-fpm), aby przyspieszyć odczyt nowego pliku.user.ini.
Krok 3: Sprawdzenie Opcji OLS (Zapobieganie Problemom)
Użycie OLS dodaje jeszcze jedną warstwę. Zaloguj się do konsoli WebAdmin OLS (port 7080) i upewnij się, że ustawienia serwera nie są niższe niż 200MB:
- Configuration -> Server -> Tuning.
- Sprawdź Max Request Body Size i ustaw na $200\text{M}$ lub wyższą wartość.
🎉 Podsumowanie
Podniesienie limitu uploadu to taniec między trzema warstwami serwera. W przypadku zaawansowanych konfiguracji z ISPConfig, ręczne wpisanie dyrektywy Nginx jest najszybszym i najpewniejszym sposobem na przebicie limitu 200MB.
Od teraz Twoje pliki binarne o rozmiarze do 200MB mogą bez problemu wylądować w WordPressie!





Dodaj komentarz