php.ini na hostingu - co można zmienić i jak to zrobić?

Upload za duży, skrypt przerywa po 30 sekundach, brakuje pamięci - większość takich blokad to ustawienia PHP, które zmienisz sam w panelu. Przegląd najważniejszych dyrektyw i bezpieczne wartości.

Czym jest php.ini (i gdzie jest na hostingu)

php.ini to plik konfiguracyjny PHP - języka, w którym działa WordPress, WooCommerce i PrestaShop. Na hostingu współdzielonym nie edytujesz głównego pliku serwera: dostajesz własne nadpisania - w DirectAdmin klikasz je w sekcji ustawień PHP (per domena), bez dotykania plików. Zmiana działa od kolejnego żądania.

Dyrektywy, które realnie zmieniają życie

DyrektywaCo robiRozsądna wartość
memory_limitile RAM na jeden skrypt256M (sklepy: 512M)
upload_max_filesizemaks. rozmiar wgrywanego pliku64M-128M
post_max_sizemaks. rozmiar całego żądania (musi być ≥ upload!)jak wyżej lub więcej
max_execution_timeile sekund może trwać skrypt60-120 (importy/kopie: chwilowo 300)
max_input_varsile pól formularza przyjmie PHP3000-5000 (duże menu i buildery tego chcą)
display_errorspokazywanie błędów na stronieOff na produkcji! (błędy do logu)

Objaw → ustawienie (ściąga diagnostyczna)

  • „Przesłany plik przekracza dyrektywę upload_max_filesize" → podnieś upload_max_filesize ORAZ post_max_size,
  • „Allowed memory size exhausted" → memory_limit (a jeśli nie pomaga - winowajcą jest wtyczka; diagnoza: przyspieszanie WP),
  • „Maximum execution time exceeded" przy imporcie/kopii → max_execution_time,
  • menu ucięte po zapisie / builder gubi zmiany → max_input_vars,
  • biały ekran bez komunikatu → włącz logowanie błędów (nie display_errors!) i czytaj log - pełna procedura w instrukcji WSOD.

Nie myl konfiguracji z WERSJĄ PHP

Osobny przełącznik w panelu to wersja PHP (8.1/8.2/8.3...). Nowsze wersje są szybsze i bezpieczniejsze - zmieniaj o jedną w górę i testuj; to część rutyny opisanej w tekście o aktualizacjach. Po zmianie wersji Twoje nadpisania php.ini zwykle trzeba ustawić dla nowej wersji ponownie - o tym się zapomina.

Czego nie wykręcać i dlaczego

  • max_execution_time = 3000 „na stałe" - wieszające się skrypty będą wisieć minutami i zjadać limity procesów (co to znaczy: limity hostingu); długie zadania rób przez CLI/cron,
  • memory_limit 2G „na zapas" - maskuje wycieki pamięci zamiast je ujawniać,
  • display_errors = On na produkcji - wyświetlasz światu ścieżki i strukturę bazy; to prezent dla atakującego,
  • wartości wyższe niż sufit pakietu po prostu nie zadziałają - hosting ma nadrzędne limity (u nas jawne; w razie potrzeby podnosimy je per konto - napisz do pomocy).

Więcej wiedzy o zapleczu: przewodnik po DirectAdmin i pillar Hosting dla firm.

Powiązane poradniki

Powiązane usługi McProdukt

Zobacz również