1--TEST-- 2Test socket_addrinfo_explain() 3--SKIPIF-- 4<?php 5if (!extension_loaded('sockets')) { 6 die('SKIP The sockets extension is not loaded.'); 7} 8--FILE-- 9<?php 10$addrinfo = socket_addrinfo_lookup('127.0.0.1', 2000, array( 11 'ai_family' => AF_INET, 12 'ai_socktype' => SOCK_DGRAM, 13)); 14$result = socket_addrinfo_explain($addrinfo[0]); 15// Musl sets ai_canonname even if AI_CANONNAME is not specified. 16unset($result['ai_canonname']); 17var_dump($result); 18echo "Done"; 19--EXPECTF-- 20array(5) { 21 ["ai_flags"]=> 22 int(%d) 23 ["ai_family"]=> 24 int(2) 25 ["ai_socktype"]=> 26 int(2) 27 ["ai_protocol"]=> 28 int(%d) 29 ["ai_addr"]=> 30 array(2) { 31 ["sin_port"]=> 32 int(2000) 33 ["sin_addr"]=> 34 string(9) "127.0.0.1" 35 } 36} 37Done 38