Как я могу обмениваться HTTP файлами в unix-сокетах домена в php.
Я ищу библиотеку, подобную этому: request-unixsocket, но это для python, мне нужно для php.
Просьба привести пример кода, если это возможно.
Согласно этому ответу curl имеет параметр --unix-socket
но это не поддерживается в php-curl из этого ответа.
Я нашел Socket Client для PHP HTTP- библиотеки для php, но не могу понять, как ее использовать.
Просьба поделиться аналогичными библиотеками.
Редактировать:
Из этого блога мы можем каким-то образом использовать параметр CURLOPT_UNIX_SOCKET_PATH
в php?
попробуйте stream_socket_client.
resource stream_socket_client ( string $remote_socket [, int &$errno [, string &$errstr [, float $timeout = ini_get("default_socket_timeout") [, int $flags = STREAM_CLIENT_CONNECT [, resource $context ]]]]] )
Я могу опоздать, но вот как это сделать, используя CURLOPT_UNIX_SOCKET_PATH
. для других пользователей, которые посещают поиск ответа для этого.
$socket = '/var/run/docker.sock';
set_time_limit(0);
$ch = curl_init();
curl_setopt($ch, CURLOPT_UNIX_SOCKET_PATH, $socket);
curl_setopt($ch, CURLOPT_BUFFERSIZE, 256);
curl_setopt($ch, CURLOPT_TIMEOUT, 1000000);
$writeFunction = function ($ch, $string) {
echo $string;
$length = strlen($string);
printf("Received %d byte\n", $length);
flush();
return $length;
};
curl_setopt($ch, CURLOPT_WRITEFUNCTION, $writeFunction);
curl_setopt($ch, CURLOPT_URL, "http:/localhost/version");
curl_exec($ch);