$params['scheme'] = isset($params['host']) ? 'tcp' : 'unix';
$params += array(
'host' => isset($params['host']) ? $params['host'] : $params['path'],
so $params['host'] is never empty => scheme is always tcp even if path is unix socket, which leads to exception in Predis Client.