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 ഉണ്ടെന്നത് മറ്റൊന്നിൽ അത് ലഭ്യമാണെന്ന് തെളിയിക്കുന്നില്ല.

അനുബന്ധ ലേഖനങ്ങൾ