As claves de opción de cURL de Guzzle son constantes de PHP
Corrixa o aviso de curl_setopt_array sobre as claves de opción usando constantes CURLOPT enteiras no array de opcións curl de baixo nivel de Guzzle.
Nunha petición de Guzzle 7 que usa o controlador cURL, o array de opcións curl de baixo nivel usa como claves as constantes CURLOPT enteiras de PHP:
$options = [
'curl' => [
CURLOPT_PROXY => 'proxy.example',
CURLOPT_PROXYPORT => 8080,
],
];
Manteña entre comiñas a clave externa 'curl' de Guzzle. Non poña comiñas en CURLOPT_PROXY nin en CURLOPT_PROXYPORT. Escribir 'CURLOPT_PROXY' crea unha cadea normal con ese nome; PHP non a converte no valor numérico da constante.
Esta distinción explica o aviso de curl_setopt_array de que as claves deben ser constantes CURLOPT ou enteiros equivalentes. Comprobe a forma do array antes de cambiar o enderezo do proxy ou a conta: ese aviso trata da configuración do identificador, non é proba de que o proxy remoto rexeitase unha conexión.
Cando non se necesita ningún comportamento cURL de baixo nivel, a opción de petición normal de Guzzle é máis simple:
$options = [
'proxy' => 'http://proxy.example:8080',
];
Escolla a interface prevista e manteña coherentes os tipos das súas claves. Cando esa forma é válida, unha entrada HTTP da lista de proxies HTTP pode fornecer o punto final para unha petición permitida a un URL público sen conta de proxy. O array curl de baixo nivel require o controlador cURL; outro controlador non se converte en cURL só porque ese array estea presente.