Plik php.ini w WordPress – jak działa?

Plik php.ini to główny plik konfiguracyjny interpretera PHP na serwerze. Wyznacza limity zasobów i reguły bezpieczeństwa dla wszystkich skryptów PHP — w tym dla WordPressa. Ustawienia z wp-config.php mogą zmieniać tylko część parametrów i tylko wtedy, gdy serwer na to pozwala; twardych limitów narzuconych przez hosting nie da się przebić samą edycją WordPressa.

Do czego służy php.ini

PHP przed wykonaniem jakiegokolwiek skryptu odczytuje plik php.ini i ustala ramy działania: ile pamięci może zużyć skrypt, jak duże pliki można przesyłać, jak długo może działać jeden skrypt.

W kontekście WordPress oznacza to konkretne ograniczenia widoczne na co dzień. Jeśli próbujesz przesłać duży plik wideo i dostajesz błąd — zwykle chodzi o limit w php.ini. Jeśli aktualizacja wtyczki się przerywa z błędem “Maximum execution time exceeded” — też php.ini.

Najważniejsze dyrektywy dla WordPress

Limit pamięci

memory_limit = 256M

Maksymalna pamięć RAM, jaką może zużyć jeden skrypt PHP. WordPress zaleca minimum 128 MB dla typowych stron, 256 MB i więcej dla sklepów WooCommerce i bardziej rozbudowanych witryn.

Ważna zależność: wartość WP_MEMORY_LIMIT w wp-config.php mówi WordPressowi, o ile pamięci ma poprosić dla działania strony. Jeśli hosting narzuca niższy, twardy limit albo blokuje zmianę memory_limit w trakcie działania skryptu, wpis w wp-config.php nie przyniesie efektu. Wyższy limit w aplikacji nie nadpisuje ograniczeń serwera.

Limit rozmiaru pliku

upload_max_filesize = 64M
post_max_size = 64M

upload_max_filesize to maksymalna waga jednego pliku przesyłanego przez formularz. post_max_size to limit całego żądania POST — musi być większy lub równy upload_max_filesize. Obie wartości wpływają na to, co widzi właściciel strony przy próbie wgrania pliku przez bibliotekę mediów.

Czas wykonania

max_execution_time = 300

Maksymalny czas w sekundach, przez który może działać jeden skrypt PHP. Przy importach dużych baz danych, migracji lub masowej aktualizacji wpisów zbyt niski limit powoduje przerywanie operacji w połowie.

Gdzie zmienić ustawienia

Metoda zależy od rodzaju hostingu i uprawnień:

Na serwerze VPS z dostępem root. Edycja pliku php.ini (lokalizacja zależy od dystrybucji i wersji PHP, np. /etc/php/8.2/fpm/php.ini). Po zmianie wymagany restart usługi PHP-FPM. Więcej o VPS: Hosting VPS.

Na hostingu współdzielonym. Bezpośrednia edycja php.ini jest zwykle zablokowana. Alternatywne metody, w zależności od konfiguracji serwera:

  • plik .user.ini w katalogu głównym strony (serwery z PHP-FPM)
  • plik .htaccess z dyrektywami php_value (serwery Apache z modułem PHP)
  • panel cPanel lub Plesk — część hostingów ma graficzny interfejs do zmiany wersji PHP i limitów

Nie każda metoda działa na każdym hostingu — warto sprawdzić dokumentację lub zapytać support. Więcej o typach hostingu: Hosting współdzielony.

W wp-config.php. WordPress może próbować zmienić wybrane ustawienia PHP w trakcie działania skryptu, np. limit pamięci przez WP_MEMORY_LIMIT. Działa to tylko wtedy, gdy dana dyrektywa PHP jest możliwa do zmiany w runtime i hosting tego nie blokuje.

php.ini a dziennik błędów

Plik php.ini kontroluje też, gdzie trafiają błędy PHP — czy są wyświetlane na ekranie, zapisywane do pliku, czy całkowicie ignorowane.

W środowiskach testowych typowe ustawienie to display_errors = On i log_errors = On. Na stronach produkcyjnych zaleca się display_errors = Off — błędy nie powinny być widoczne dla odwiedzających. Więcej o logowaniu błędów: Dziennik błędów w WordPress.

Jak sprawdzić aktualne ustawienia

Najszybszy sposób bez edycji kodu: w WordPress jest wbudowane narzędzie Site Health (Stan Witryny, w Narzędzia → Stan Witryny), które pokazuje wersję PHP i jej limity. Sekcja “Informacje” zawiera szczegółowe dane o konfiguracji środowiska PHP.

W przypadku bardziej szczegółowej analizy deweloperzy używają funkcji phpinfo() — ale jej wynik zawiera wrażliwe informacje o konfiguracji serwera i nie powinien być publicznie dostępny.