ZARZąDZANIE HOSTINGIEM (DIRECTADMIN) • 4 MIN READ

Ustawienia php.ini w DirectAdmin

Co to jest php.ini, jak edytować ustawienia PHP w DA, najważniejsze dyrektywy (memory, upload, execution time, display errors), bezpieczeństwo.

Zespół IQHost 29 wrz 2026 4m read
#DirectAdmin #IQHost #hosting

php.ini to plik konfiguracyjny PHP — definiuje limity (pamięć, upload, execution time), włączone funkcje, zachowanie błędów. W DA edytujesz go w sekcji Ustawienia PHP lub przez Select PHP version → Options.

Co zyskasz

  • Zmienisz ustawienia PHP dla swojej domeny.
  • Skonfigurujesz limity dla WordPress / sklepu (upload 100M, max_input_vars).
  • Włączysz lub wyłączysz wyświetlanie błędów.
  • Dowiesz się, które ustawienia są już gotowe (np. strefa czasowa Europe/Warsaw).

Wymagania wstępne

  • Konto DA z domeną.

Krok 1: Otwórz Ustawienia PHP

Zarządzanie kontami → Ustawienia PHP. URL: /evo/user/php-settings.

Strona Ustawienia PHP w DA

Tu dodajesz nadpisania dla wybranej domeny — obejmują też wszystkie jej subdomeny (domenę zmieniasz w prawym górnym rogu): w sekcji Dodaj nowe nadpisanie wybierasz Parametr, ustawiasz Wartość i klikasz Dodaj.

Tabela ustawień PHP — dyrektywy i wartości

Alternatywnie: Dodatkowe funkcje → Select PHP version → Opcje — ustawienia dla całego konta. Nadpisanie z Ustawień PHP ma przed nimi pierwszeństwo.

Najważniejsze dyrektywy

memory_limit

Maksymalna pamięć skryptu. Domyślnie 1024M (1 GB) — to zarazem maksimum, więc zwykle nie trzeba nic zmieniać. Jeśli błąd „Allowed memory size” pokazuje mniej, limit obniża aplikacja — patrz Limity PHP.

upload_max_filesize

Max wielkość pliku przez upload. Domyślnie 64M.

  • Podnieś do 100M, jeśli wgrywasz większe pliki przez WordPress czy sklep.
  • Najwyżej 1G. Serwer WWW przyjmuje jedno żądanie do 2000 MB, więc przez przeglądarkę wyślesz plik do 1 GB. Większe pliki wysyłaj przez FTP/SFTP — patrz Limity PHP.
  • WAŻNE: post_max_size nie może być mniejsze niż upload_max_filesize.

post_max_size

Max wielkość całego POST. Domyślnie 64M.

Powinno być min. 1.1x upload_max_filesize. Jeśli upload_max_filesize=100M → post_max_size=128M.

max_execution_time

Max czas pracy procesora dla skryptu (s). Domyślnie 300.

  • Serwer WWW czeka na odpowiedź PHP najwyżej 120 s bez odpowiedzi — podnoszenie tej wartości nie wydłuży żądania z przeglądarki.
  • Długie operacje (import, backup) uruchamiaj przez SSH albo cron poleceniem php — wtedy limitu czasu nie ma.

max_input_vars

Max liczba zmiennych w POST. Domyślnie 1000, maksymalnie 10000.

Duże menu WordPressa albo produkty z wieloma wariantami → podnieś do 5000–10000.

date.timezone

Strefa czasowa.

  • Domyślnie już Europe/Warsaw — dla polskiej strony nie musisz nic zmieniać.
  • Inną strefę (np. dla sklepu działającego w innym kraju) ustawisz tak jak pozostałe dyrektywy.

display_errors

Czy wyświetlać błędy PHP w przeglądarce. Default Off (produkcja).

  • On — tylko w development!
  • Off — produkcja (błędy w logu, nie na ekranie)

log_errors

Czy logować błędy. Default On. Zostaw.

error_reporting

Poziom raportowania błędów. Default E_ALL & ~E_DEPRECATED & ~E_STRICT.

  • Dev: E_ALL (wszystko)
  • Prod: default (bez deprecation warnings)

allow_url_fopen

Czy PHP może otwierać URL jak pliki. Default On.

  • Wiele aplikacji wymaga (curl też)
  • Bezpieczne pozostawić On (jest filtrowane przez disable_functions)

display_startup_errors

Błędy podczas uruchamiania PHP. Default Off. Zostaw.

Rekomendowane wartości

WordPress (standardowy blog/strona)

max_input_vars = 3000
display_errors = Off
log_errors = On

Pamięć (1 GB) i upload (64 MB) zostaw domyślne.

WooCommerce / sklep

upload_max_filesize = 100M
post_max_size = 128M
max_input_vars = 10000

Development (lokalnie / staging)

display_errors = On
display_startup_errors = On
error_reporting = E_ALL

Edycja przez .htaccess (alternatywa)

Dyrektywy możesz też ustawić w pliku .htaccess w katalogu strony — działają dla tego katalogu i podkatalogów:

php_value upload_max_filesize 100M
php_value post_max_size 128M
php_value max_input_vars 5000
php_flag display_errors Off

Na naszych serwerach to działa, także w katalogu subdomeny. Wartość z .htaccess przykrywa Ustawienia PHP i Opcje Select PHP version. Zmiana może być widoczna dopiero po kilkunastu sekundach. Dyrektyw bezpieczeństwa (open_basedir, disable_functions, extension) nie da się tak zmienić — zostaną zignorowane.

Edycja przez .user.ini

Plik .user.ini znasz może z hostingów z PHP-FPM. U nas nie działa — nasze serwery go nie czytają, więc wpisane tam wartości nie zmienią niczego. Używaj Ustawień PHP albo .htaccess.

Wskazówka

Ustawiaj daną dyrektywę w jednym miejscu. Kolejność ważności: php_value w .htaccess przykrywa Ustawienia PHP, a Ustawienia PHP przykrywają Opcje Select PHP version. Przy kilku źródłach trudno potem ustalić, skąd bierze się wynik.

Najczęstsze problemy

1. „Zmieniłem memory_limit, ale strona nadal pokazuje 'allowed memory size'"

  • Aplikacja sama może mieć ini_set('memory_limit', '128M') w kodzie → nadpisuje
  • WordPress wp-config.php może mieć WP_MEMORY_LIMIT — zwiększ tam też
  • Cache OPcache — odśwież

2. „Upload file pokazuje error 'file too large'"

Zwiększ oba: upload_max_filesize ORAZ post_max_size. Serwer WWW przyjmuje jedno żądanie do 2000 MB — większy plik (błąd 413) wyślij przez FTP/SFTP.

3. „display_errors włączone, ale nadal nie widzę błędów"

  • Aplikacja przechwytuje błędy (try/catch lub error handler) — sprawdź error_log
  • error_reporting ustawione za nisko → ustaw E_ALL
  • Cache OPcache → wait 60s

4. „Wartość 'M' vs 'MB' vs '1024'"

PHP używa 'M' dla mega (1M = 1024 * 1024). Nie 'MB'. Liczbowo: 1024 * 1024 = 1048576 bytes.

5. „Mam wiele domen — różne ustawienia PHP per domena?"

Tak — Ustawienia PHP działają dla wybranej domeny razem z jej subdomenami (domenę zmieniasz w prawym górnym rogu DirectAdmina). Inną wartość dla jednej subdomeny ustawisz w .htaccess w jej katalogu.

6. „Po zmianie wymagany restart PHP?"

Nie — zmiana zaczyna działać sama po kilku, najwyżej kilkudziesięciu sekundach.

7. „Mogę użyć mod_security przez .htaccess?"

Tak: SecRuleEngine On lub Off. Sprawdź czy mod_security jest aktywowany na serwerze (admin tylko).

Słowniczek

  • php.ini — plik konfiguracyjny PHP.
  • Dyrektywa — pojedyncze ustawienie w php.ini.
  • .user.ini — plik ustawień PHP znany z PHP-FPM; na naszych serwerach nie działa.
  • OPcache — cache skompilowanego PHP, wymaga reset po dużych zmianach.

Related

Feedback

Czy ten artykuł pomógł?

Potwierdź