Калі свядома выбіраеце апрацоўшчык кліента Guzzle, стек на аснове cURL можа выкарыстоўваць SOCKS:

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

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

socks5h просіць проксі вызначыць імя прызначэння. Guzzle перадае канцавы пункт у libcurl, таму загружаная зборка libcurl павінна падтрымліваць гэты пратакол. Спіс SOCKS5-проксі дае публічныя кандыдаты канцавых пунктаў для URL проксі кліента.

Калі праграма ўжо мае свой стек апрацоўшчыкаў, агледзьце яго транспарт, перш чым замяняць яго і губляць прамежкавае забеспячэнне. Апрацоўшчык, абмежаваны HTTP-струменямі PHP, не можа рэалізаваць SOCKS толькі таму, што кліент атрымлівае гэтую опцыю.

Праверце працэс, які выконвае запыт. CLI PHP і PHP-FPM могуць загружаць розныя канфігурацыйныя файлы і пашырэнні; наяўнасць cURL у адным не даказвае яго даступнасці ў іншым.

Падобныя артыкулы