cURL error 7 – Failed to connect to host (megoldás)

A cURL error 7 egy gyakori PHP hiba, amely azt jelenti, hogy a szerver nem tud kapcsolódni a kívánt címhez (hosthoz). Ez főként akkor fordul elő, amikor külső API-hoz vagy webszolgáltatáshoz próbálsz hozzáférni curl vagy wp_remote_get() segítségével – de a célpont nem elérhető, vagy a kapcsolat blokkolva van.

Hiba pontos formája


cURL error 7: Failed to connect to example.com port 443: Connection refused

Gyakori okok

  • DNS vagy hálózati probléma a szerveren
  • Az API kiszolgáló nem válaszol (offline, tiltva)
  • Tűzfal vagy biztonsági plugin blokkolja a kapcsolatot
  • SSL vagy port probléma (pl. 443 nem nyitott)

Példa hibás kódra (PHP curl)


<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.example.com/data");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
if (curl_errno($ch)) {
    echo 'Hiba: ' . curl_error($ch);
}
curl_close($ch);

Megoldás 1: Ellenőrizd, elérhető-e az API a szerverről


ping api.example.com
curl -I https://api.example.com

Ha a szerver nem tud kapcsolódni, az hiba a tárhelyszolgáltatónál is lehet.

Megoldás 2: Kapcsold ki a biztonsági pluginokat (WordPress)

Olyan pluginok, mint a Wordfence vagy iThemes Security blokkolhatják a kimenő kapcsolatokat. Próbáld meg ideiglenesen kikapcsolni őket, és nézd meg, megszűnik-e a hiba.

Megoldás 3: Állítsd be a proxy-t, ha szükséges

Ha a szerver csak proxy-n keresztül éri el a külvilágot, azt jelezni kell a curl-nak:


curl_setopt($ch, CURLOPT_PROXY, 'http://proxy.cimed.hu:8080');

WordPress-ben jelentkező curl error 7

A WordPress wp_remote_get() vagy wp_remote_post() függvényei is használják a curl-t, ezért ha ezeknél kapsz hibát, a háttérben szintén `curl error 7` állhat.

Példa WordPress hibára:


An error occurred: cURL error 7: Failed to connect to api.wordpress.org port 443

Kapcsolódó hibák

Külső forrás

Teljes cURL hibalista: libcurl hibaüzenetek – curl.se

Összefoglalás

A cURL error 7 kapcsolatproblémát jelez a szerver és az API vagy webcím között. Leggyakrabban tűzfal, DNS, vagy SSL konfigurációs gond okozza. Megoldása sokszor a szerver oldalán történik – de WordPress esetén plugin szintű beavatkozás is szükséges lehet.