Ключи параметров cURL в Guzzle — это константы PHP
Устраните предупреждение curl_setopt_array о ключах параметров, используя целочисленные константы CURLOPT в массиве параметров curl низкого уровня Guzzle.
В запросе Guzzle 7 с обработчиком cURL массив параметров curl низкого уровня использует в качестве ключей целочисленные константы CURLOPT из PHP:
$options = [
'curl' => [
CURLOPT_PROXY => 'proxy.example',
CURLOPT_PROXYPORT => 8080,
],
];
Внешний ключ Guzzle 'curl' оставляйте в кавычках. Не заключайте CURLOPT_PROXY и CURLOPT_PROXYPORT в кавычки. Запись 'CURLOPT_PROXY' создаёт обычную строку с таким именем; PHP не превращает её в числовое значение константы.
Это различие объясняет предупреждение curl_setopt_array о том, что ключи должны быть константами CURLOPT или эквивалентными целыми числами. Проверьте форму массива, прежде чем менять адрес или учётную запись прокси: это предупреждение касается настройки дескриптора, а не доказательство того, что удалённый прокси отказал в соединении.
Когда поведение cURL низкого уровня не нужно, обычная опция запроса Guzzle проще:
$options = [
'proxy' => 'http://proxy.example:8080',
];
Выберите нужный интерфейс и поддерживайте типы его ключей согласованными. Когда форма корректна, запись HTTP из списка HTTP-прокси может дать конечную точку для разрешённого запроса к публичному URL без учётной записи прокси. Массив curl низкого уровня требует обработчика cURL; другой обработчик не становится cURL только потому, что этот массив присутствует.