Výběr cURL handleru v Guzzle pro SOCKS proxy
Handler omezený na HTTP streamy nezíská SOCKS vyjednávání z URL proxy; zvolte podporovaný transport ve skutečném běhovém prostředí PHP.
Když cíleně volíte handler klienta Guzzle, stack postavený na cURL může používat SOCKS:
$stack = \GuzzleHttp\HandlerStack::create(
new \GuzzleHttp\Handler\CurlHandler()
);
$client = new \GuzzleHttp\Client([
'handler' => $stack,
'proxy' => 'socks5h://proxy.example.net:1080',
]);socks5h žádá proxy, aby přeložila název cíle. Guzzle předává koncový bod libcurl, takže načtená sestava libcurl musí tento protokol podporovat. Seznam SOCKS5 proxy nabízí veřejné kandidáty koncových bodů pro URL proxy klienta.
Pokud aplikace již vlastní stack handlerů, prozkoumejte jeho podkladový transport dřív, než ho nahradíte a ztratíte middleware. Handler omezený na PHP HTTP streamy nemůže implementovat SOCKS jen proto, že klient tuto volbu dostane.
Zkontrolujte proces, který požadavek provádí. CLI PHP a PHP-FPM mohou načítat různé konfigurační soubory a rozšíření; přítomnost cURL v jednom nedokazuje, že je dostupné v druhém.