
🔍 Gdzie znajduje się php.ini w WordPress: wyszukiwanie i konfiguracja
Wtyczka nie instaluje się, pobieranie motywu urywa się w połowie? W panelu administracyjnym pojawia się komunikat „Allowed memory size exhausted"? Najczęściej winny jest jeden plik, php.ini.
To główny plik konfiguracyjny PHP: określa, ile pamięci przydzielać skryptom, jak długo je wykonywać i pliki o jakim rozmiarze przyjmować. Na typowym hostingu limity te są zaniżone, hostingodawca oszczędza zasoby.
Dalej: gdzie znaleźć php.ini w każdym środowisku (WAMP, XAMPP, Linux, cPanel) i które pięć dyrektyw edytować pod kątem WordPressa na rok 2026. Z konkretnymi wartościami, bez wróżenia.
💡 Szybki przegląd:
- Tworzy Pan/Pani testowy plik PHP z funkcją
phpinfoi od razu widzi ścieżkę dophp.inina dowolnym serwerze - W WAMP, XAMPP i cPanel ścieżka jest dostępna przez interfejs, bez edycji kodu
- Kluczowe ustawienia dla WordPressa: memory_limit, max_execution_time, upload_max_filesize, post_max_size oraz max_input_vars
- Po zmianach sprawdza Pan/Pani rzeczywiste limity przez
phpinfo()lub WP-CLI, aby upewnić się, że hosting nie zignorował zmian
Czym jest php.ini i po co go ruszać
php.ini to plik tekstowy z dyrektywami sterującymi zachowaniem PHP na serwerze. Jest ładowany przy każdym uruchomieniu procesu PHP i określa limity: pamięć, czas wykonania, rozmiar przesyłanych plików, poziom raportowania błędów.
Dla WordPressa krytycznych jest pięć dyrektyw. memory_limit przydziela pamięć RAM na przetwarzanie strony, nowoczesne motywy i kreatory (Gutenberg, Elementor) bez problemu potrzebują 256 MB i więcej. max_execution_time ogranicza liczbę sekund na wykonanie skryptu: jeśli wtyczka importuje zawartość demonstracyjną lub WooCommerce generuje raporty, domyślne 30 sekund to gwarantowane przerwanie. upload_max_filesize i post_max_size kontrolują przesyłanie: motyw w ZIP może ważyć ponad 40 MB, a limit hostingu to 2 MB. Wreszcie, max_input_vars ogranicza liczbę zmiennych POST i przy 1000 pozycji menu oraz domyślnych 2000 wartości zapisywanie menu jest obcinane bez ostrzeżenia.
Dobra wiadomość: php.ini można edytować nawet na tanim hostingu współdzielonym. Zła: najpierw trzeba go znaleźć, a ścieżka zależy od systemu operacyjnego, panelu sterowania i sposobu instalacji PHP (moduł Apache, CGI/FastCGI, PHP-FPM).
Jak znaleźć php.ini: uniwersalna metoda przez phpinfo()
Najpewniejszy sposób, działający na każdym serwerze, to utworzenie testowego pliku PHP z funkcją phpinfo().
Proszę utworzyć plik o dowolnej nazwie i rozszerzeniu .php (na przykład info.php) i umieścić w nim:
1 <?php phpinfo(); ?>
Proszę przesłać plik do katalogu głównego witryny (przez FTP, menedżera plików hostingu lub WP-CLI) i otworzyć w przeglądarce: https://ваш-сайт.com/info.php.
Na stronie, która się otworzy, proszę znaleźć wiersz Loaded Configuration File, to jest pełna ścieżka do aktywnego php.ini. Jeśli PHP działa jako moduł Apache, ścieżka będzie podana w wierszu Configuration File (php.ini) Path, w takim przypadku sam plik może nie istnieć i trzeba go utworzyć ręcznie.
Po sprawdzeniu należy koniecznie usunąć info.php, ujawnia on szczegóły konfiguracji serwera, co jest niebezpieczne.
Gdzie znajduje się php.ini w WAMP
W WAMP (pakiet dla Windows: Apache + MySQL + PHP) ścieżka do php.ini jest dostępna bezpośrednio z zasobnika systemowego.
Proszę kliknąć prawym przyciskiem myszy ikonę WAMP, wskazać PHP i wybrać php.ini, plik otworzy się w edytorze tekstowym. Jeśli w pakiecie jest kilka wersji PHP, proszę upewnić się, że wybrana jest ta, z którą współpracuje witryna (widać w zasobniku: WAMP → PHP → Version).
Alternatywna ścieżka przez menu WAMP: lewy klik ikony → PHP → php.ini. Plik fizycznie znajduje się w folderze C:\wamp64\bin\php\phpX.Y.Z\php.ini (lub C:\wamp\bin\... dla starszych wersji).
Gdzie znajduje się php.ini w XAMPP

W XAMPP na Windows i Linux ścieżka do php.ini wiedzie przez Panel sterowania (Control Panel). Proszę otworzyć XAMPP Control Panel i kliknąć przycisk Config w wierszu modułu Apache. Z rozwijanego menu proszę wybrać PHP (php.ini), plik otworzy się w edytorze.
Jeśli przycisku Config nie ma (stara wersja XAMPP), proszę pójść bezpośrednią ścieżką: C:\xampp\php\php.ini na Windows lub /opt/lampp/etc/php.ini na Linux.
Po edycji proszę zrestartować Apache przyciskami Stop → Start w panelu sterowania.
Gdzie znajduje się php.ini w Linux (VPS / serwer dedykowany)
Na serwerze Linux bez panelu sterowania php.ini znajduje się jednym poleceniem w terminalu:
1 php -i | grep "Loaded Configuration File"
Wynik będzie mniej więcej taki:
1 Loaded Configuration File => /etc/php/8.2/cli/php.ini
Ważny niuans: PHP dla wiersza poleceń (CLI) i dla serwera WWW (Apache/Nginx) często używa różnych plików php.ini. Powyższe polecenie pokazuje ścieżkę dla wersji CLI. Aby poznać ścieżkę dla serwera WWW, należy utworzyć plik info.php metodą z poprzedniej sekcji i otworzyć go w przeglądarce lub wykonać:
1 ls /etc/php/*/apache2/php.ini 2 ls /etc/php/*/fpm/php.ini
Typowe lokalizacje zależą od wersji PHP i serwera WWW:
- Apache:
/etc/php/8.2/apache2/php.ini - PHP-FPM (Nginx):
/etc/php/8.2/fpm/php.ini - Ścieżka ogólna (jeśli PHP zostało skompilowane ręcznie):
/usr/local/lib/php.ini
Po wprowadzeniu zmian proszę zrestartować serwer WWW: sudo systemctl restart apache2 lub sudo systemctl restart php8.2-fpm.
Gdzie znajduje się php.ini w cPanel i innych panelach hostingowych

Na hostingu współdzielonym z cPanel plik php.ini zwykle znajduje się w katalogu głównym witryny, public_html. Aby go zobaczyć:
- Proszę zalogować się do cPanel i otworzyć File Manager
- Przejść do folderu
public_html - Znaleźć
php.inina liście plików

Jeśli pliku nie ma, proszę go utworzyć przyciskiem + File. Proszę wpisać potrzebne dyrektywy i zapisać. Hosting uwzględni ustawienia w ciągu kilku minut.
Na nowoczesnych hostingach coraz częściej dostępny jest MultiPHP Manager (cPanel) lub Select PHP Version, które umożliwiają edycję php.ini przez interfejs WWW, bez wchodzenia do menedżera plików. Jeśli Pana/Pani panel obsługuje takie narzędzie, proszę z niego korzystać: mniejsze ryzyko błędu składniowego.
Osobny przypadek, .user.ini. Na hostingach z PHP-FPM (FastCGI) php.ini w katalogu głównym witryny może być ignorowany; zamiast niego tworzy się plik .user.ini z tymi samymi dyrektywami. Proszę sprawdzić w dokumentacji hostingu, którego pliku należy używać.
Zalecane ustawienia php.ini dla WordPress (aktualne na 2026)
Podstawowe wartości „domyślne" w php.ini nie zmieniały się od dziesięcioleci i są przewidziane dla prostych skryptów, a nie dla nowoczesnych CMS-ów. WordPress z aktualnymi wtyczkami wymaga znacznie większych limitów. Poniżej zalecane wartości, sprawdzone w praktyce.
Główne dyrektywy
Dyrektywa | Minimum | Zalecane | Do czego służy |
|---|---|---|---|
| 256M | 512M | Pamięć na stronę; Gutenberg, WooCommerce, Elementor z łatwością zużywają 128+ MB |
| 60 | 300 | Sekundy na skrypt; import danych demo, generowanie miniaturek, kopia zapasowa |
| 64M | 128M | Rozmiar przesyłanego pliku; motywy i wtyczki w ZIP często ważą 20-50 MB |
| 64M | 128M | Całkowity rozmiar żądania POST; musi być ≥ |
| 2000 | 4000 | Liczba zmiennych POST; bezpośrednio wpływa na zapisywanie menu (50+ pozycji = obcięcie) |
| 60 | 300 | Sekundy na parsowanie danych wejściowych; |
1 memory_limit = 512M 2 max_execution_time = 300 3 upload_max_filesize = 128M 4 post_max_size = 128M 5 max_input_vars = 4000 6 max_input_time = 300 7 file_uploads = On
Dyrektywa safe_mode została usunięta z PHP począwszy od wersji 5.4, proszę nie dodawać jej do konfiguracji. Jeśli widzi Pan/Pani ten wiersz w starym php.ini, proszę go bez wahania usunąć.
Buforowanie (opcache)
Dla witryny produkcyjnej należy obowiązkowo włączyć opcache, co daje 2-3-krotny wzrost szybkości dzięki buforowaniu skompilowanego kodu bajtowego:
1 opcache.enable = 1 2 opcache.memory_consumption = 256 3 opcache.max_accelerated_files = 10000 4 opcache.revalidate_freq = 2 5 opcache.validate_timestamps = 1
Logowanie błędów
Na działającej witrynie wyświetlanie błędów na ekranie musi być wyłączone, ale logowanie, włączone:
1 display_errors = Off 2 log_errors = On 3 error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
Alternatywne sposoby:.htaccess i wp-config.php
Nie zawsze mają Państwo dostęp do php.ini. Na niektórych hostingach działają obejścia.
Przez.htaccess (Apache + mod_php)
Proszę dodać w .htaccess w katalogu głównym witryny:
1 php_value memory_limit 512M 2 php_value upload_max_filesize 128M 3 php_value post_max_size 128M 4 php_value max_execution_time 300
Zadziała tylko wtedy, gdy PHP działa jako moduł Apache (mod_php). W przypadku PHP-FPM dyrektywy php_value spowodują błąd 500, wówczas należy użyć .user.ini.
Przez wp-config.php
Proszę dodać przed wierszem /* That's all, stop editing! */:
1 define('WP_MEMORY_LIMIT', '512M'); 2 define('WP_MAX_MEMORY_LIMIT', '512M');
WP_MEMORY_LIMIT ustawia limit dla frontendu, WP_MAX_MEMORY_LIMIT dla panelu administracyjnego. Nie zastępuje to php.ini, ale często rozwiązuje problem „Allowed memory size exhausted" punktowo, gdy dostęp do konfiguracji serwera jest ograniczony.
Wideo: wyszukiwanie i edycja php.ini w praktyce
Krótkie wideo z wizualną demonstracją wszystkich opisanych metod, od phpinfo() po MultiPHP Manager w cPanel:
⁉️🤔 Często zadawane pytania
Dlaczego po edycji php.ini nic się nie zmieniło?
Proces PHP nie został ponownie uruchomiony. Proszę zrestartować Apache (
systemctl restart apache2lub przyciskiem w panelu), PHP-FPM (systemctl restart phpX.Y-fpm) lub poczekać na automatyczny restart na hostingu współdzielonym (zwykle 2-5 minut). Proszę sprawdzić, czy edytują Państwo dokładnie ten plikphp.ini, który pokazujephpinfo()w wierszu Loaded Configuration File (na jednym serwerze może być ich kilka).
Po edycji zawsze należy sprawdzić faktyczny limit przez
phpinfo(): hosting może nadpisywać niektóre dyrektywy ustawieniami globalnymi. Jeśli wartość się nie zmieniła, proszę utworzyć.user.iniw katalogu głównym witryny (dla PHP-FPM) lub skontaktować się z pomocą techniczną.
Jaki memory_limit jest realnie potrzebny WordPressowi w 2026 roku?
256M: bezpieczne minimum dla typowej witryny z 10-15 wtyczkami. Jeśli zainstalowany jest kreator stron (Elementor, Bricks, Breakdance), WooCommerce lub złożona wtyczka cache, proszę ustawić 512M. Witryny na Gutenbergu z dużą liczbą bloków i wzorców również ciążą ku 512M. 128M, zalecane w starych poradnikach, jest już niewystarczające dla współczesnego WordPressa: samo jądro z motywem na Full Site Editing może uderzyć w ten limit.
Wyjątek: tani hosting współdzielony z twardym sufitem. Jeśli dostawca hostingu nie pozwala podnieść memory_limit powyżej 128M, proszę rozważyć zmianę taryfy lub hostingu: witryna na takim limicie będzie padać przy co drugiej aktualizacji.
Co jest ważniejsze: edycja php.ini czy wp-config.php?
php.inidziała na poziomie systemowym,wp-config.phpna poziomie aplikacji. Jeśli mają Państwo dostęp dophp.ini, proszę edytować jego: limity będą obowiązywać globalnie i nie zresetują się podczas aktualizacji jądra.wp-config.phpproszę używać jako fallback, gdy hosting zablokowałphp.ini.WP_MEMORY_LIMITwwp-config.phpnadpisujememory_limitzphp.inidla WordPressa, ale nie wpływa namax_execution_time,upload_max_filesizei inne dyrektywy: te trzeba będzie edytować przez.htaccesslub.user.ini.



