ជ្រើសរើស cURL handler របស់ Guzzle សម្រាប់ SOCKS proxy
Handler ដែលគាំទ្រតែ HTTP stream មិនអាចទទួលបានការចរចា SOCKS ពី URL proxy បានទេ; ជ្រើសរើស transport ដែលគាំទ្រក្នុងបរិស្ថាន PHP ពិតប្រាកដ។
នៅពេលអ្នកជ្រើសរើស 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 ក្នុងមួយមិនបញ្ជាក់ថាវាមានក្នុងមួយទៀតទេ។