នៅពេលអ្នកជ្រើសរើស handler របស់ Guzzle client ដោយចេតនា ស្តេកដែលផ្អែកលើ cURL អាចប្រើ SOCKS បាន:

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

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

socks5h ស្នើឱ្យ proxy ដោះស្រាយឈ្មោះគោលដៅ។ Guzzle បញ្ជូន endpoint ទៅ libcurl ដូច្នេះ build libcurl ដែលបានផ្ទុកត្រូវតែគាំទ្រពិធីការនោះ។ បញ្ជី proxy SOCKS5 ផ្តល់នូវបេក្ខជន endpoint សាធារណៈសម្រាប់ URL proxy របស់ client។

ប្រសិនបើកម្មវិធីមានស្តេក handler រួចហើយ សូមពិនិត្យ transport ខាងក្រោមមុនពេលជំនួសវា និងបាត់បង់ middleware។ Handler ដែលកំណត់ត្រឹម HTTP stream របស់ PHP មិនអាចអនុវត្ត SOCKS ដោយគ្រាន់តែដោយសារ client ទទួលជម្រើសនេះបានទេ។

ពិនិត្យដំណើរការដែលធ្វើសំណើ។ CLI PHP និង PHP-FPM អាចផ្ទុកឯកសារកំណត់រចនាសម្ព័ន្ធ និងផ្នែកបន្ថែមផ្សេងគ្នា; ការមាន cURL ក្នុងមួយមិនបញ្ជាក់ថាវាមានក្នុងមួយទៀតទេ។

អត្ថបទពាក់ព័ន្ធ