1--TEST-- 2Streams Based Unix Domain Loopback test 3--SKIPIF-- 4<?php # vim:ft=php: 5 if (array_search("unix",stream_get_transports()) === false) 6 die('SKIP No support for UNIX domain sockets.'); 7?> 8--FILE-- 9<?php 10 $uniqid = uniqid(); 11 if (file_exists("/tmp/$uniqid.sock")) 12 die('Temporary socket already exists.'); 13 14 /* Setup socket server */ 15 $server = stream_socket_server("unix:///tmp/$uniqid.sock"); 16 if (!$server) { 17 die('Unable to create AF_UNIX socket [server]'); 18 } 19 20 /* Connect to it */ 21 $client = stream_socket_client("unix:///tmp/$uniqid.sock"); 22 if (!$client) { 23 die('Unable to create AF_UNIX socket [client]'); 24 } 25 26 /* Accept that connection */ 27 $socket = stream_socket_accept($server); 28 if (!$socket) { 29 die('Unable to accept connection'); 30 } 31 32 fwrite($client, "ABCdef123\n"); 33 34 $data = fread($socket, 10); 35 var_dump($data); 36 37 fclose($client); 38 fclose($socket); 39 fclose($server); 40 unlink("/tmp/$uniqid.sock"); 41?> 42--EXPECT-- 43string(10) "ABCdef123 44" 45