memory_limit, upload_max_filesize, max_execution_time i reszta - które ustawienia PHP zmienisz sam w panelu hostingu i jakie wartości mają sens.
Na hostingu współdzielonym nie edytujesz głównego pliku php.ini serwera - dostajesz własne nadpisania dla swojej domeny, klikane w panelu. Najczęściej zmieniane ustawienia to memory_limit (pamięć skryptu), upload_max_filesize i post_max_size (rozmiar wgrywanych plików), max_execution_time (czas działania skryptu) oraz max_input_vars (liczba pól formularza). Zmiana zaczyna działać od kolejnego żądania.
Poniżej: co dokładnie robi każda dyrektywa i jakie wartości mają sens, ściąga „objaw komunikatu → ustawienie do zmiany", trzy sposoby wprowadzania zmian (panel, plik, wp-config) oraz lista rzeczy, których nie należy wykręcać, choć internet często to doradza.
php.ini to plik konfiguracyjny PHP - języka, w którym działają WordPress, WooCommerce i PrestaShop. Ustawia granice, w jakich wykonuje się każdy skrypt: ile pamięci może zająć, jak długo działać, jak duży plik przyjąć.
Na serwerze współdzielonym jeden plik główny obsługuje wszystkich, więc dostęp do niego jest zablokowany - ale każde konto może nadpisać wybrane wartości u siebie. W DirectAdmin znajdziesz to w ustawieniach PHP dla danej domeny: wybierasz dyrektywę z listy, wpisujesz wartość, zapisujesz. Żadnego grzebania w plikach, żadnego restartu (po panelu prowadzi przewodnik po DirectAdmin).
Ważne: nadpisania działają w granicach ustalonych przez hosting. Jeśli pakiet ma sufit 512 MB pamięci, wpisanie 2 GB nic nie da - PHP przyjmie wartość maksymalną, jaką dopuszcza serwer.
| Dyrektywa | Co robi | Domyślnie w PHP | Rozsądna wartość |
|---|---|---|---|
| memory_limit | ile pamięci może zająć jeden skrypt | 128M | 256M (sklepy: 512M) |
| upload_max_filesize | maksymalny rozmiar wgrywanego pliku | 2M | 64M-128M |
| post_max_size | rozmiar całego żądania - musi być większy niż upload | 8M | tyle co upload lub więcej |
| max_execution_time | ile sekund może trwać skrypt | 30 | 60-120 (import: chwilowo 300) |
| max_input_vars | ile pól formularza przyjmie PHP | 1000 | 3000-5000 |
| max_input_time | czas na odebranie danych żądania | dziedziczy z execution_time | 60-120 |
| display_errors | pokazywanie błędów na stronie | zależy od instalacji | Off na produkcji |
Dwie pułapki z tej tabeli warto zapamiętać. Pierwsza: post_max_size musi być większe niż upload_max_filesize, bo obejmuje cały wysyłany formularz razem z plikiem - przy odwrotnym ustawieniu wgrywanie zawiedzie mimo „poprawnego" limitu uploadu. Druga: max_input_vars odpowiada za sytuacje, które wyglądają zupełnie inaczej, niż brzmią - ucięte menu po zapisie albo kreator stron gubiący część ustawień.
| Co widzisz | Co zmienić |
|---|---|
| „Przesłany plik przekracza dyrektywę upload_max_filesize" | upload_max_filesize ORAZ post_max_size |
| „Allowed memory size of X bytes exhausted" | memory_limit (a potem szukaj winowajcy) |
| „Maximum execution time exceeded" przy imporcie | max_execution_time |
| Menu ucięte po zapisie, builder gubi zmiany | max_input_vars |
| Import bazy przerywa się w połowie | max_execution_time + memory_limit |
| Biały ekran bez komunikatu | logowanie błędów do pliku (NIE display_errors) |
| „413 Request Entity Too Large" | to limit serwera WWW, nie PHP - zgłoś do pomocy |
Przy komunikacie o pamięci zwróć uwagę na kolejność działań: podniesienie limitu jest doraźnym obejściem, a nie diagnozą. Jeśli zwykłe wejście na stronę potrzebuje 512 MB, problemem jest konkretna wtyczka - jak ją namierzyć, opisuje tekst o przyspieszaniu WordPressa. Przy białym ekranie pełną procedurę czytania logów zbiera instrukcja naprawy WSOD.
Plik .htaccess z wpisami php_value działa wyłącznie przy PHP jako module Apache - na nowoczesnych serwerach z LiteSpeed czy PHP-FPM taki zapis jest ignorowany albo powoduje błąd 500. Jeśli poradnik z internetu każe Ci go użyć, prawdopodobnie pochodzi sprzed dekady.
To osobny przełącznik w panelu i osobna decyzja. Nowsze wersje PHP są szybsze i bezpieczniejsze, a różnice w wydajności między odległymi wersjami bywają dwukrotne - przy zerowym koszcie po Twojej stronie.
Stan na 2026 rok: gałęzie 8.1 i starsze nie dostają już żadnych poprawek, 8.2 i 8.3 wyłącznie te dotyczące bezpieczeństwa, a aktywnie rozwijane są 8.4 i 8.5. Dla typowej strony na WordPressie rozsądnym wyborem jest 8.4 - dojrzała, wspierana przez wtyczki i szybka. PHP 8.5 warto testować, gdy używasz mało wtyczek albo masz gdzie sprawdzić stronę przed przełączeniem.
Zmieniaj wersję o jedną w górę i sprawdzaj stronę po każdym kroku; to część rutyny opisanej w tekście o bezpiecznej aktualizacji WordPressa. I zapamiętaj rzecz, o której wszyscy zapominają: po zmianie wersji PHP nadpisania php.ini trzeba zwykle ustawić dla nowej wersji od nowa - każda ma własny zestaw ustawień.
Wartości powyżej sufitu pakietu po prostu nie zadziałają - u nas te sufity są jawne przy każdym pakiecie hostingu, a gdy projekt naprawdę potrzebuje więcej, podnosimy je indywidualnie: wystarczy napisać do pomocy technicznej. Szerszy obraz zaplecza daje przewodnik Hosting dla firm.
Najszybciej w panelu hostingu, w sekcji ustawień PHP dla domeny - obok pól do zmiany widać wartości obowiązujące. W WordPressie te same informacje znajdziesz w Narzędzia → Stan witryny → Informacje, w sekcji Serwer: jest tam wersja PHP, limit pamięci, maksymalny rozmiar pliku i czas wykonania.
Trzy typowe przyczyny: ustawienie trafiło do innej wersji PHP niż aktualnie używana przez domenę, wartość przekracza sufit pakietu (serwer przyciął ją po cichu), albo zmiana czeka na odświeżenie bufora konfiguracji, co przy pliku .user.ini potrafi zająć kilka minut. Sprawdź stan w Narzędzia → Stan witryny - tam widać wartość realnie obowiązującą.
Prosta strona firmowa działa spokojnie na 128-256 MB. Sklep WooCommerce z kilkuset produktami, kreatorem stron i wtyczkami do integracji potrzebuje zwykle 512 MB, zwłaszcza przy operacjach w panelu (import, generowanie miniatur, eksport zamówień). Powyżej tego progu przyczyną jest już konkretna wtyczka, a nie skala sklepu.
Nie. Limity określają, czego skrypt NIE może przekroczyć - nie przydzielają mu mocy. Strona, która mieści się w 128 MB, nie zacznie działać szybciej po ustawieniu 512 MB. Na szybkość wpływają cache, wersja PHP, jakość motywu i liczba wtyczek.
Bo działają wyłącznie wtedy, gdy PHP pracuje jako moduł Apache - konfiguracja typowa dla serwerów sprzed dekady. Na współczesnym hostingu (LiteSpeed, PHP-FPM) takie wpisy są ignorowane albo zwracają błąd 500. Użyj panelu lub pliku .user.ini.
Zmiana wartości liczbowych jest bezpieczna - najgorsze, co się stanie, to że wartość zostanie przycięta do sufitu pakietu. Ryzykowne są dopiero wpisy z literówką w nazwie dyrektywy (bywają ignorowane) oraz wyłączanie funkcji PHP, których wymaga Twój CMS. Zawsze zmieniaj jedną rzecz naraz i sprawdzaj stronę po zapisie.
Wszystkie poradniki z kategorii: Hosting od podstaw