如何通过PHP从Unix套接字发送数据报?

Jua*_*nti 3 php unix sockets

我正在做:

$socket = socket_create(AF_UNIX, SOCK_DGRAM, 0);
if (@socket_connect($socket, $path) === false) { ... }
Run Code Online (Sandbox Code Playgroud)

但是我得到这个错误:

(91): Protocol wrong type for socket
Run Code Online (Sandbox Code Playgroud)

我使用的任何参数有误吗?我怀疑从第二个socket_create参数。我在文档中找不到任何帮助:http : //php.net/manual/es/function.socket-create.php

小智 5

它是maby过时的,但是我发现这种方式可以正常工作:

$sock = stream_socket_client('unix:///tmp/test.sock', $errno, $errst);
fwrite($sock, 'message');
$resp = fread($sock, 4096);
fclose($sock);
Run Code Online (Sandbox Code Playgroud)