Rankingi

Porównaj i sprawdź

O testach

Motyw strony
Poradniki hostingowe

Jak naprawić błąd 'Maximum execution time exceeded' w WordPressie

· 13.10.2026

Błąd 'Maximum execution time exceeded' (pełny komunikat to zwykle 'Fatal error: Maximum execution time of 30 seconds exceeded') oznacza, że PHP przerwało wykonywanie skryptu, ponieważ przekroczył on limit czasu ustawiony w konfiguracji serwera - parametr max_execution_time. W WordPressie ten błąd widać najczęściej jako pustą, białą stronę albo właśnie ten konkretny komunikat, i pojawia się zwykle przy operacjach trwających dłużej niż standardowe 30 sekund: import dużego pliku z danymi, generowanie PDF-a, instalacja lub aktualizacja obszernej wtyczki czy motywu, wykonywanie backupu całej strony albo wolne zapytanie do bazy danych, które się zawiesza. Ten poradnik pokazuje, jak znaleźć operację odpowiedzialną za błąd i jak krok po kroku zwiększyć limit czasu wykonania PHP - zaczynając od metod uniwersalnych, a kończąc na tej, która działa niezawodnie na hostingu współdzielonym.

  1. Zanotuj dokładnie, przy jakiej operacji błąd się pojawia - na przykład podczas importu danych (np. WooCommerce, WP All Import), generowania backupu, instalacji wtyczki lub motywu, albo ładowania konkretnej podstrony. To ważne, bo od tego zależy, czy wystarczy zwiększyć limit czasu, czy lepiej podzielić operację na mniejsze partie.
  2. Sprawdź aktualny limit max_execution_time - wejdź w WordPressie w Narzędzia → Zdrowie strony → zakładka Informacje → sekcja Serwer, gdzie wartość tego parametru jest widoczna w sekundach. Alternatywnie wgraj przez FTP tymczasowy plik info.php z zawartością <?php phpinfo(); ?>, otwórz go w przeglądarce, odszukaj wiersz max_execution_time, a następnie natychmiast usuń plik z serwera - pozostawiony plik phpinfo to ryzyko bezpieczeństwa.
  3. Spróbuj zwiększyć limit przez wp-config.php - dodaj na początku pliku, zaraz po otwierającym tagu <?php, linię set_time_limit(300); (liczba to limit w sekundach). Ta metoda działa tylko wtedy, gdy funkcja set_time_limit() nie jest wyłączona po stronie serwera - część hostingów ją blokuje, więc jeśli błąd nie ustąpi, przejdź do kolejnego kroku.
  4. Jeśli poprzedni krok nie pomógł, zwiększ limit przez plik konfiguracyjny PHP. Na serwerach działających w trybie mod_php dodaj do pliku .htaccess w katalogu głównym WordPressa linię php_value max_execution_time 300. Jeśli hosting korzysta z PHP-FPM, ta linia w .htaccess nie zadziała (czasem nawet wywoła błąd 500) - wtedy utwórz w tym samym katalogu plik php.ini albo .user.ini z zawartością max_execution_time = 300.
  5. Zwiększ limit w panelu hostingowym - to najpewniejsza metoda na hostingu współdzielonym, bo nadpisuje ustawienia z poprzednich kroków. W cPanel szukaj sekcji 'MultiPHP INI Editor' lub 'Select PHP Version' → 'Options', w DirectAdmin 'PHP Selector', a w autorskich panelach polskich hostingów - zakładek typu 'Wersja PHP' albo 'Ustawienia PHP'. Znajdź pole max_execution_time, wpisz wyższą wartość (np. 300) i zapisz zmiany.
  6. Jeśli po zmianie w panelu błąd nadal występuje, hosting najpewniej ma sztywny, globalny limit niezależny od ustawień konta (na współdzielonych serwerach to często 30-60 sekund, ustawione tak, żeby jeden skrypt nie obciążał serwera dla innych klientów). W takiej sytuacji napisz do supportu hostingu z prośbą o podniesienie limitu dla Twojego konta, albo - jeśli to możliwe - podziel operację na mniejsze partie (np. import danych w kilku mniejszych plikach zamiast jednego dużego) lub wykonaj ją przez WP-CLI po SSH, które działa jako osobny proces PHP w linii komend i ma zwykle inny, często znacznie wyższy limit czasu niż PHP-FPM lub Apache obsługujące stronę w przeglądarce.
  7. Zweryfikuj, czy zmiana zadziałała - powtórz operację, która wcześniej powodowała błąd, i sprawdź, czy kończy się bez przerwania. Dodatkowo wróć do Zdrowia strony w WordPressie i potwierdź, że wartość max_execution_time faktycznie się zmieniła - to pokaże, czy ustawienie z wybranego kroku zostało zastosowane, czy zostało nadpisane przez konfigurację serwera o wyższym priorytecie.

Co zrobić, gdy coś pójdzie nie tak

Przy tej zmianie najczęściej pojawiają się trzy problemy:

  • Zmiana w .htaccess nic nie daje. Najczęstsza przyczyna to PHP działające w trybie PHP-FPM, a nie mod_php - wtedy wpisy php_value w .htaccess są ignorowane albo powodują błąd 500 przy wejściu na stronę. Usuń taki wpis z .htaccess i zamiast niego użyj pliku .user.ini z kroku 4, albo od razu przejdź do ustawienia limitu w panelu hostingowym z kroku 5.
  • Błąd wraca mimo ustawienia wysokiego limitu w panelu. To znak, że hosting ma sztywny, globalny limit na koncie współdzielonym, którego nie można podnieść przez ustawienia użytkownika - chroni on innych klientów na tym samym serwerze. Jedyne sensowne wyjście to kontakt z supportem hostingu albo rozbicie operacji na mniejsze partie lub przeniesienie jej do WP-CLI, jak w kroku 6.
  • Błąd pojawia się tylko podczas pracy jednej konkretnej wtyczki, a inne długie operacje (np. backup) przebiegają normalnie. To sygnał, że problem nie leży w limicie serwera, a w nieefektywnym kodzie tej wtyczki - na przykład wykonuje ona zapytania do bazy w pętli bez żadnego ograniczenia. W takim przypadku dalsze zwiększanie limitu czasu tylko odsuwa problem w czasie; zgłoś błąd autorowi wtyczki albo sprawdź, czy jest dostępna nowsza, poprawiona wersja.
Poradnik krok po kroku Błędy WordPress
Przemysław Szliep

Od 2014 roku prowadzi SP-Media - agencję, która buduje i utrzymuje strony firmowe. Hostingi ocenia z perspektywy kogoś, kto codziennie na nich pracuje: migracje, awarie, kontakt z supportem.

Używamy plików cookie do analizy ruchu (Google Analytics, Microsoft Clarity). Więcej informacji w polityce prywatności.