როცა შეგნებულად ირჩევთ 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-ისთვის.

თუ აპლიკაციას უკვე აქვს დამმუშავებლების სტეკი, შეცვლამდე და შუალედური პროგრამული უზრუნველყოფის დაკარგვამდე შეამოწმეთ მისი ქვედა ტრანსპორტი. PHP HTTP ნაკადებზე შეზღუდული დამმუშავებელი ვერ განახორციელებს SOCKS-ს მხოლოდ იმიტომ, რომ კლიენტი ამ პარამეტრს იღებს.

შეამოწმეთ მოთხოვნის შემსრულებელი პროცესი. CLI PHP და PHP-FPM შეიძლება სხვადასხვა კონფიგურაციის ფაილსა და გაფართოებას ტვირთავდეს; cURL-ის არსებობა ერთში არ ამტკიცებს მის ხელმისაწვდომობას მეორეში.

დაკავშირებული სტატიები