Я предполагаю, что вы имеете в виду, что вы хотите сделать HTTP-запрос через прокси, который требует аутентификации, а не использовать метод аутентификации в Squid для проверки запросов к вашему веб-серверу.
Вам просто нужно установить правильные значениядля CURLOPT_PROXYAUTH CURLOPT_PROXYPORT (обычно 3128) и CURLOPT_PROXYTYPE (http)
$ch = curl_init();
$opts=array(
CURLOPT_PROXY="squid.example.com",
CURLOPT_PROXYPORT=>3128,
CURLOPT_PROXYTYPE=>CURLPROXY_HTTP,
CURLOPT_PROXYAUTH=>CURLAUTH_BASIC,
CURLOPT_PROXYUSERPWD=>"${username}:${password}",
CURLOPT_URL=>"http://www.example.com/sompage.html");
curl_setopt_array($opts);
curl_exec($ch);
Обратите внимание, что это предполагает, что Squid настроен для HTTP-аутентификации (а не сеансовой или NTLM-аутентификации).
Вы действительно не хотят делать это с помощью сокетов в PHP.
HTH
C.