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.
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.
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.
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_sizenie 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_valuew.htaccessprzykrywa 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.phpmoż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_reportingustawione za nisko → ustawE_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ł?

