Wrth ddewis handlyr cleient Guzzle yn fwriadol, gall stac sy'n seiliedig ar cURL ddefnyddio SOCKS:

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

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

Mae socks5h yn gofyn i'r procs ddatrys enw'r cyrchfan. Mae Guzzle yn trosglwyddo'r pwynt terfyn i libcurl, felly rhaid i'r adeiliad libcurl a lwythwyd gefnogi'r protocol hwnnw. Mae'r rhestr procs SOCKS5 yn darparu ymgeiswyr pwynt terfyn cyhoeddus ar gyfer URL procs y cleient.

Os oes gan y rhaglen stac handlyr eisoes, archwiliwch ei thrafnidiaeth sylfaenol cyn ei disodli a cholli middleware. Ni all handlyr sy'n gyfyngedig i ffrydiau HTTP PHP weithredu SOCKS dim ond oherwydd bod y cleient yn derbyn y dewis hwn.

Gwiriwch y broses sy'n gwneud y cais. Gall CLI PHP a PHP-FPM lwytho ffeiliau ffurfweddu ac estyniadau gwahanol; nid yw cURL yn ymddangos yn un yn profi ei fod ar gael yn y llall.

Erthyglau cysylltiedig