Keď cielene vyberáte handler klienta Guzzle, stack postavený na cURL môže používať SOCKS:

$stack = \GuzzleHttp\HandlerStack::create(
    new \GuzzleHttp\Handler\CurlHandler()
);

$client = new \GuzzleHttp\Client([
    'handler' => $stack,
    'proxy' => 'socks5h://proxy.example.net:1080',
]);

socks5h žiada proxy, aby vyriešila názov cieľa. Guzzle odovzdá koncový bod libcurl, takže načítaná verzia libcurl musí tento protokol podporovať. Zoznam SOCKS5 proxy ponúka verejných kandidátov koncových bodov pre URL proxy klienta.

Ak aplikácia už vlastní stack handlerov, preskúmajte jeho podkladový transport skôr, než ho nahradíte a stratíte middleware. Handler obmedzený na PHP HTTP streamy nemôže implementovať SOCKS len preto, že klient dostane túto voľbu.

Skontrolujte proces, ktorý vykonáva požiadavku. CLI PHP a PHP-FPM môžu načítať rôzne konfiguračné súbory a rozšírenia; prítomnosť cURL v jednom nedokazuje jeho dostupnosť v druhom.

Súvisiace články