De cURL-optiessleutels van Guzzle zijn PHP-constanten
Los de curl_setopt_array-waarschuwing over optiessleutels op door de gehele CURLOPT-constanten in Guzzles curl-optiearray op laag niveau te gebruiken.
In een Guzzle 7-aanvraag die de cURL-handler gebruikt, gebruikt de curl-optiearray op laag niveau de gehele CURLOPT-constanten van PHP als sleutels:
$options = [
'curl' => [
CURLOPT_PROXY => 'proxy.example',
CURLOPT_PROXYPORT => 8080,
],
];
Houd de buitenste Guzzle-sleutel 'curl' tussen aanhalingstekens. Zet CURLOPT_PROXY en CURLOPT_PROXYPORT niet tussen aanhalingstekens. Wie 'CURLOPT_PROXY' schrijft, maakt een gewone tekenreeks met die naam; PHP zet die niet om in de numerieke waarde van de constante.
Dit verschil verklaart de waarschuwing van curl_setopt_array dat sleutels CURLOPT-constanten of gelijkwaardige gehele getallen moeten zijn. Controleer de vorm van de array voordat u het proxyadres of het account wijzigt: die waarschuwing gaat over het configureren van de handle en is geen bewijs dat de externe proxy een verbinding weigerde.
Wanneer er geen cURL-gedrag op laag niveau nodig is, is de gewone aanvraagoptie van Guzzle eenvoudiger:
$options = [
'proxy' => 'http://proxy.example:8080',
];
Kies de bedoelde interface en houd de typen van de sleutels consistent. Zodra die vorm geldig is, kan een HTTP-vermelding uit de HTTP-proxylijst het eindpunt leveren voor een toegestane aanvraag naar een openbare URL zonder proxyaccount. De curl-array op laag niveau vereist de cURL-handler; een andere handler wordt niet cURL alleen omdat die array aanwezig is.