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 (memory_limit 512M, upload 100M).
- Włączysz lub wyłączysz wyświetlanie błędów.
- Ustawisz strefę czasową na Warsaw.
Wymagania wstępne
- Konto DA z domeną.
Krok 1: Otwórz Ustawienia PHP
Zarządzanie kontami → Ustawienia PHP. URL:
/evo/user/php-settings.
Tabela z dyrektywami PHP i ich aktualnymi wartościami. Każdą można edytować inline lub w trybie zaawansowanym.
Alternatywnie: Dodatkowe funkcje → Select PHP version → Options (ta sama funkcja, inne UI).
Najważniejsze dyrektywy
memory_limit
Maksymalna pamięć skryptu. Default 256M.
- WordPress standard: 256M
- WordPress + WooCommerce: 512M
- Sklep z masowym importem: 1024M
- Wyższy = drożej (zasoby), wolniej z optymalizacji
upload_max_filesize
Max wielkość pliku przez upload. Default 100M.
- WordPress media uploads — typowo 100M
- Sklep z dużymi PDF/wideo — 500M
- WAŻNE:
post_max_sizemusi być większe niżupload_max_filesize
post_max_size
Max wielkość całego POST. Default 100M.
Powinno być min. 1.1x upload_max_filesize. Jeśli upload_max_filesize=100M → post_max_size=128M.
max_execution_time
Max czas wykonania skryptu (s). Default 300.
- Strona WWW: 300 wystarczy
- Backup / import: zwiększ do 1800
- Wieczne joby (cron): cron ma własny limit
max_input_vars
Max liczba zmiennych w POST. Default 5000.
WordPress z dużą liczbą custom fields → może wymagać 10000+.
date.timezone
Strefa czasowa.
- Polska:
Europe/Warsaw - Bez ustawienia: domyślnie UTC (mylące w aplikacjach)
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)
memory_limit = 256M
upload_max_filesize = 100M
post_max_size = 128M
max_execution_time = 300
max_input_vars = 5000
date.timezone = "Europe/Warsaw"
display_errors = Off
log_errors = On
WooCommerce / sklep
memory_limit = 512M
upload_max_filesize = 500M
post_max_size = 512M
max_execution_time = 600
max_input_vars = 10000
Development (lokalnie / staging)
display_errors = On
display_startup_errors = On
error_reporting = E_ALL
Edycja przez .htaccess (alternatywa)
Niektóre dyrektywy można nadpisać w .htaccess:
php_value memory_limit 512M
php_value upload_max_filesize 500M
php_value post_max_size 512M
php_value max_execution_time 600
Działa tylko z mod_php (apache module). W IQHost (LSPHP) — używaj DA Ustawienia PHP.
Edycja przez .user.ini
Niektóre konfiguracje pozwalają na plik .user.ini w public_html:
memory_limit = 512M
upload_max_filesize = 500M
Działa dla większości CGI/FPM/LSPHP. Cache trwa 5 minut.
Wskazówka
Nie używaj
php_valuew.htaccessjeśli LSPHP — dostaniesz error 500. Stick to DA Ustawienia PHP lub.user.ini.
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. Tak samo nginx/Apache mogą mieć własne limity (client_max_body_size) — to admin tylko może zmienić.
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 subdomen — różne ustawienia PHP per subdomena?"
Tak — każda domena ma osobne php.ini (w DA wybierasz domenę z dropdown).
6. „Po zmianie wymagany restart PHP?"
Nie — DA automatycznie odświeża LSPHP po edycji ini. Może trwać 30s.
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— alternatywny plik wpublic_html, override globalnego.- OPcache — cache skompilowanego PHP, wymaga reset po dużych zmianach.
Related
Feedback
Czy ten artykuł pomógł?

