W skrócie: Błąd cURL 28 oznacza, że WordPress przekroczył limit czasu podczas łączenia z serwerem zdalnym — najczęściej podczas aktualizacji wtyczek, instalacji motywów lub żądań API HTTP. Najpierw wyłącz zaporę swojej wtyczki zabezpieczającej; jeśli to nie pomoże, przejdź przez kontrole limitu pamięci PHP i SSL poniżej.
Radzenie sobie z „cURL error 28: Connection timed out" na Twojej witrynie WordPress może być frustrujące. Ten błąd występuje, gdy żądanie z Twojej witryny zbyt długo czeka na odpowiedź, co skutkuje przekroczeniem limitu czasu. Może spowolnić Twoją witrynę i negatywnie wpłynąć na doświadczenie użytkownika.
W obsługiwanych przez nas zgłoszeniach wsparcia zapora wtyczki zabezpieczającej — w szczególności reguły ograniczania liczby żądań Wordfence — blokuje wychodzące wywołanie cURL w znacznej części przypadków. Ten artykuł wyjaśnia błąd cURL 28, tłumaczy, dlaczego występuje, i oferuje rozwiązania krok po kroku.
Contents
Czym jest błąd cURL 28?
cURL to narzędzie programowe, którego WordPress używa do przesyłania danych za pomocą różnych protokołów. „cURL error 28: Connection timed out after X milliseconds" występuje, gdy żądanie cURL nie zakończy się w określonym czasie. Ten błąd wskazuje, że serwer nie zdołał odpowiedzieć dostatecznie szybko, co doprowadziło do przekroczenia limitu czasu.

Częste powody błędu cURL 28
Różne objawy wskazują na różne przyczyny źródłowe. Skorzystaj z tabeli poniżej, aby zidentyfikować swoją sytuację i przejść do właściwego rozwiązania.
| Objaw | Przyczyna źródłowa | Metoda naprawy |
|---|---|---|
| Błąd tylko przy aktualizacjach lub instalacjach wtyczek | Zapora wtyczki zabezpieczającej blokuje żądania wychodzące | Metoda 1: Wyłącz zaporę wtyczki zabezpieczającej |
| Błąd przy wszystkich wywołaniach zewnętrznych, nie tylko aktualizacjach | Konflikt wtyczki lub motywu zakłócający API HTTP | Metoda 2: Dezaktywuj konfliktujące wtyczki |
| Błąd przy żądaniach HTTPS; HTTP działa | Błędna konfiguracja SSL lub wygasły certyfikat | Metoda 3: Rozwiąż problemy z niezabezpieczoną zawartością SSL |
| Błąd utrzymuje się po wyłączeniu wszystkich wtyczek | Nieaktualna wersja cURL niezgodna z PHP | Metoda 4: Sprawdź swoją wersję cURL |
| Błąd po ciężkich operacjach na danych lub instalacjach wtyczek | Zbyt niski limit pamięci PHP dla żądań cURL | Metoda 5: Zwiększ limit pamięci PHP |
| Błąd na hostingu zarządzanym lub współdzielonym, gdy wszystko inne zawodzi | Ograniczanie liczby żądań lub reguły zapory na poziomie serwera | Metoda 6: Skontaktuj się z dostawcą hostingu |
6 metod naprawy błędu cURL 28: Connection Timed Out After X Milliseconds
- Wyłącz zaporę wtyczki zabezpieczającej
- Dezaktywuj konfliktujące wtyczki
- Rozwiąż problemy z niezabezpieczoną zawartością SSL
- Sprawdź swoją wersję cURL
- Zwiększ limit pamięci PHP
- Uzyskaj pomoc od dostawcy hostingu
Uwaga: Dobrym pomysłem jest wykonanie kopii zapasowej witryny przed wprowadzeniem jakichkolwiek zmian. Jeśli coś pójdzie nie tak, możesz szybko przywrócić witrynę do poprzedniego stanu. Możesz użyć WP Staging do łatwych automatycznych kopii zapasowych. Zajrzyj do przewodnika po tworzeniu i przywracaniu kopii zapasowych, aby uzyskać więcej pomocy.
1. Wyłącz zaporę wtyczki zabezpieczającej
Wtyczka zapory w WordPressie dodaje dodatkową warstwę bezpieczeństwa, blokując szkodliwy ruch. Jednak czasem może być nadmiernie ostrożna i blokować legalne żądania cURL, co prowadzi do błędu „Operation Timed Out". W obsługiwanych przez nas zgłoszeniach wsparcia reguły ograniczania liczby żądań Wordfence są częstą przyczyną — sprawdzenie zapory w pierwszej kolejności jest niemal zawsze najszybszą drogą do rozwiązania.
Aby sprawdzić, czy Twoja wtyczka zabezpieczająca powoduje problem:
- Wyłącz zaporę: Wyłącz funkcję zapory w swojej wtyczce zabezpieczającej lub dezaktywuj wtyczkę.

- Przetestuj witrynę: Sprawdź, czy błąd utrzymuje się po wyłączeniu zapory.
- Ponownie włącz zaporę: Włącz zaporę z powrotem po krótkim oczekiwaniu.

- Wypróbuj inną wtyczkę zabezpieczającą: Jeśli błąd wróci, rozważ użycie innej wtyczki zabezpieczającej lub skontaktuj się ze wsparciem wtyczki w celu uzyskania pomocy. Niektóre wtyczki mogą wymagać dodania ich adresów IP do białej listy, aby legalne żądania nie były blokowane.
Wykonując te kroki, możesz ustalić, czy Twoja zapora powoduje błąd cURL, i zachować bezpieczeństwo witryny bez blokowania potrzebnych danych.
2. Dezaktywuj konfliktujące wtyczki
Gdy napotykasz problemy lub konflikty z konkretnymi wtyczkami na swojej witrynie WordPress, może być konieczne ich tymczasowe wyłączenie.
Dezaktywując wszystkie wtyczki, możesz wyizolować i rozwiązać problem bez wpływu na ogólną funkcjonalność Twojej witryny.
Oto jak to zrobić:
- Wejdź do panelu administracyjnego WordPressa, logując się do swojej witryny.
- Przejdź do „Wtyczki" z menu paska bocznego i kliknij. Zobaczysz listę zainstalowanych wtyczek.

- Wybierz wtyczki, które chcesz wyłączyć, zaznaczając pola obok ich nazw. Możesz wybrać kilka wtyczek naraz.

- Po wybraniu wtyczek znajdź rozwijane menu „Bulk Actions" u góry listy i wybierz „Deactivate".
- Kliknij przycisk „Apply" obok rozwijanego menu.

Po dezaktywacji wtyczek odśwież witrynę, aby sprawdzić, czy zmiany pojawiają się natychmiast. Następnie włączaj wtyczki z powrotem pojedynczo, odświeżając witrynę za każdym razem, aby wskazać tę problematyczną.
Powtarzaj ten proces, aż znajdziesz winowajcę, i rozważ aktualizację, wymianę lub kontakt z deweloperem wtyczki w celu uzyskania pomocy.
3. Rozwiąż problemy z niezabezpieczoną zawartością SSL
Certyfikat SSL (Secure Sockets Layer) jest niezbędny do zabezpieczenia danych między Twoją witryną a odwiedzającymi. Zapewnia, że wszystkie przesyłane dane są szyfrowane, zapobiegając nieautoryzowanemu dostępowi i wzmacniając zaufanie do Twojej witryny.
Prawidłowe wdrożenie SSL pozwala Twojej witrynie używać protokołu HTTPS, chroniąc połączenie między Twoim serwerem a przeglądarkami użytkowników.
Sprawdź status SSL w panelu dostawcy Hostinger:
Zaloguj się do panelu swojego dostawcy hostingu (np. Hostinger), aby zweryfikować status swojego certyfikatu SSL. Upewnij się, że jest aktywny i poprawnie skonfigurowany, jak pokazano na obrazku poniżej:

Jeśli certyfikat pokazuje się jako wygasły lub nieprawidłowy, odnów go przez panel sterowania hostingu lub skontaktuj się ze wsparciem dostawcy. Po odnowieniu wyczyść pamięć podręczną serwera i przeglądarki oraz ponownie uruchom Narzędzia → Stan witryny, aby potwierdzić, że problem z SSL został rozwiązany, zanim ponownie przetestujesz cURL.
4. Sprawdź swoją wersję cURL
- Przejdź do strony Stan witryny w panelu WordPressa.
- Wybierz kartę „Informacje" i znajdź sekcję „Serwer".
- Poszukaj tam informacji o wersji PHP i cURL.

Dopasuj wersje cURL i PHP, aby uzyskać lepszą wydajność: Aby zapewnić płynne działanie, upewnij się, że Twoja wersja cURL spełnia wymagania Twojej wersji PHP.
Na przykład, jeśli Twoja witryna używa PHP 8.1, powinieneś mieć co najmniej cURL 7.2.

Jeśli Twoja wersja cURL jest nieaktualna, skontaktuj się z dostawcą hostingu i poproś o aktualizację. Większość zarządzanych hostingów WordPress może zaktualizować bibliotekę cURL serwera bez przestojów.
5. Zwiększ limit pamięci PHP
Wtyczki WordPress wymagają żądań cURL do wielu funkcji, które mogą zużywać dużo pamięci, zwłaszcza przy obszernych danych lub złożonych zadaniach. Jeśli limity pamięci lub czasu są zbyt niskie, możesz zobaczyć błędy takie jak błąd cURL 28, wskazujący na przekroczenie limitu czasu.
Aby zapobiec tym problemom, sprawdź i dostosuj limity PHP swojego serwera za pomocą strony Stan witryny. Możesz też zwiększyć te ustawienia w pliku .htaccess lub wp-config.php, aby poprawić wydajność witryny i uniknąć przekroczeń limitu czasu.
Użyj klienta FTP, takiego jak FileZilla, lub menedżera plików swojego hosta, aby uzyskać dostęp do katalogu głównego swojej instalacji WordPress.

Zlokalizuj plik wp-config.php, kliknij prawym przyciskiem myszy i wybierz opcję „Edit".

Dodaj następujący wiersz kodu przed wierszem /* That's all, stop editing! Happy blogging. */, a następnie kliknij przycisk „Save Changes".
define('WP_MEMORY_LIMIT', '256M');
Po zapisaniu wróć do Narzędzia → Stan witryny → Informacje → Serwer, aby potwierdzić, że nowa wartość limitu pamięci PHP jest aktywna, zanim ponownie przetestujesz operację, która zawodziła.
6. Uzyskaj pomoc od dostawcy hostingu
Jeśli wypróbowałeś wszystko i nadal masz problemy, czas skontaktować się z dostawcą hostingu po pomoc. Może on zbadać inne potencjalne przyczyny, takie jak konflikty w modułach zabezpieczeń, ograniczanie liczby żądań na poziomie serwera lub reguły zapory blokujące połączenia wychodzące.
Kontaktując się ze wsparciem, podaj dokładny komunikat o błędzie, wersję WordPressa i PHP ze strony Stan witryny oraz kroki, które już wypróbowałeś. To pomaga im szybciej zdiagnozować problem.
Podsumowanie
Kluczowe kroki rozwiązywania błędu cURL 28 obejmują tymczasowe wyłączenie zapory WordPressa i dezaktywację wtyczek w celu sprawdzenia konfliktów. Ponadto istotne jest przejrzenie konfiguracji SSL i upewnienie się, że limity zasobów serwera są wystarczające.
Utrzymywanie WordPressa i wtyczek w aktualności ma kluczowe znaczenie dla zapobiegania takim błędom. Jeśli problem utrzymuje się, poszukaj pomocy u dostawcy hostingu.
Rozwiązanie nie zadziałało? Zaawansowane rozwiązywanie problemów
Jeśli żadna z sześciu powyższych metod nie rozwiązała błędu, poniższe kroki pomagają zidentyfikować konkretną przyczynę.
Włącz rejestrowanie WP_DEBUG
Dodaj następujące wiersze do wp-config.php, aby uchwycić dokładny kontekst błędu cURL:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
Po zapisaniu wywołaj operację, która zawodzi (na przykład uruchom aktualizację wtyczki), a następnie sprawdź wp-content/debug.log pod kątem wierszy zawierających cURL error 28. Wpis w dzienniku pokaże, który adres URL przekroczył limit czasu, pomagając ustalić, czy problem dotyczy konkretnego serwera zdalnego, czy wszystkich żądań wychodzących.
Błąd wraca po zwiększeniu pamięci PHP
Jeśli zwiększenie limitu pamięci PHP nie zatrzymało błędu:
- Sprawdź ustawienie PHP
max_execution_timewphp.inilub przezwp-config.php. Niska wartość może spowodować przekroczenie limitu czasu skryptu, zanim zadziała limit czasu połączenia cURL. Zwiększ ją i przetestuj ponownie. - Zweryfikuj, czy nowa wartość
WP_MEMORY_LIMITjest zastosowana, przechodząc do Narzędzia → Stan witryny → Informacje → Serwer i potwierdzając, że limit pamięci PHP pokazuje oczekiwaną wartość.
SSL czysty, ale błąd się utrzymuje
Jeśli Twój certyfikat SSL jest ważny, ale cURL nadal przekracza limit czasu:
- Sprawdź, czy serwer zdalny (na przykład
api.wordpress.org) jest tymczasowo nieosiągalny, testując połączenie z innej sieci. - Poproś dostawcę hostingu o potwierdzenie, że wychodzące połączenia HTTPS nie są blokowane na poziomie zapory serwera. Niektóre środowiska hostingu współdzielonego domyślnie ograniczają połączenia wychodzące.
Identyfikowanie konkretnej wtyczki powodującej blokadę cURL
Aby zawęzić, która wtyczka wyzwala blokadę, bez masowego wyłączania wszystkiego:
- Włącz rejestrowanie WP_DEBUG, jak pokazano powyżej.
- Dezaktywuj wtyczki pojedynczo, zaczynając od zabezpieczających i cache’ujących.
- Po każdej dezaktywacji sprawdź
wp-content/debug.logpod kątem nowych wpisów błędu cURL 28. - Wtyczka, której dezaktywacja zatrzymuje nowe wpisy w dzienniku, to ta inicjująca zablokowane żądanie.