Skip to content

Wszystko o WordPressie, tworzeniu stron — i nie tylko

🔍 Gdzie znajduje się php.ini w WordPress: wyszukiwanie i konfiguracja

🔍 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ą phpinfo i od razu widzi ścieżkę do php.ini na 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 → PHPphp.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

Okno panelu sterowania XAMPP z przyciskiem Config

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 StopStart 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:

1php -i | grep &quot;Loaded Configuration File&quot;

Wynik będzie mniej więcej taki:

1Loaded 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ć:

1ls /etc/php/*/apache2/php.ini
2ls /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

Menedżer plików cPanel z zaznaczonym folderem public_html

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.ini na liście plików
Katalog główny public_html w menedżerze plików cPanel

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

memory_limit

256M

512M

Pamięć na stronę; Gutenberg, WooCommerce, Elementor z łatwością zużywają 128+ MB

max_execution_time

60

300

Sekundy na skrypt; import danych demo, generowanie miniaturek, kopia zapasowa

upload_max_filesize

64M

128M

Rozmiar przesyłanego pliku; motywy i wtyczki w ZIP często ważą 20-50 MB

post_max_size

64M

128M

Całkowity rozmiar żądania POST; musi być ≥ upload_max_filesize

max_input_vars

2000

4000

Liczba zmiennych POST; bezpośrednio wpływa na zapisywanie menu (50+ pozycji = obcięcie)

max_input_time

60

300

Sekundy na parsowanie danych wejściowych; -1 = bez limitu

1memory_limit = 512M
2max_execution_time = 300
3upload_max_filesize = 128M
4post_max_size = 128M
5max_input_vars = 4000
6max_input_time = 300
7file_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:

1opcache.enable = 1
2opcache.memory_consumption = 256
3opcache.max_accelerated_files = 10000
4opcache.revalidate_freq = 2
5opcache.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:

1display_errors = Off
2log_errors = On
3error_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:

1php_value memory_limit 512M
2php_value upload_max_filesize 128M
3php_value post_max_size 128M
4php_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! */:

1define('WP_MEMORY_LIMIT', '512M');
2define('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 apache2 lub 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 plik php.ini, który pokazuje phpinfo() 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.ini w 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.ini działa na poziomie systemowym, wp-config.php na poziomie aplikacji. Jeśli mają Państwo dostęp do php.ini, proszę edytować jego: limity będą obowiązywać globalnie i nie zresetują się podczas aktualizacji jądra. wp-config.php proszę używać jako fallback, gdy hosting zablokował php.ini. WP_MEMORY_LIMIT w wp-config.php nadpisuje memory_limit z php.ini dla WordPressa, ale nie wpływa na max_execution_time, upload_max_filesize i inne dyrektywy: te trzeba będzie edytować przez .htaccess lub .user.ini.