Memilih pengendali cURL Guzzle untuk proksi SOCKS
Pengendali yang hanya menyokong strim HTTP tidak boleh memperoleh rundingan SOCKS daripada URL proksi; pilih pengangkutan yang menyokong dalam masa jalan PHP sebenar.
Apabila memilih pengendali klien Guzzle secara sengaja, tindanan berasaskan cURL boleh menggunakan SOCKS:
$stack = \GuzzleHttp\HandlerStack::create(
new \GuzzleHttp\Handler\CurlHandler()
);
$client = new \GuzzleHttp\Client([
'handler' => $stack,
'proxy' => 'socks5h://proxy.example.net:1080',
]);socks5h meminta proksi menyelesaikan nama destinasi. Guzzle menyerahkan titik akhir kepada libcurl, jadi binaan libcurl yang dimuatkan mesti menyokong protokol itu. Senarai proksi SOCKS5 menyediakan calon titik akhir awam untuk URL proksi klien.
Jika aplikasi sudah mempunyai tindanan pengendali, periksa pengangkutan di bawahnya sebelum menggantikannya dan kehilangan middleware. Pengendali yang terhad kepada strim HTTP PHP tidak boleh melaksanakan SOCKS semata-mata kerana klien menerima pilihan ini.
Periksa proses yang membuat permintaan. CLI PHP dan PHP-FPM boleh memuatkan fail konfigurasi dan sambungan yang berbeza; kehadiran cURL dalam satu tidak membuktikan ketersediaannya dalam yang lain.