1--TEST-- 2Test if socket_set_option() works, option:SO_RCVTIMEO 3--DESCRIPTION-- 4-wrong params 5-set/get params comparison 6--SKIPIF-- 7<?php 8if (!extension_loaded('sockets')) { 9 die('SKIP sockets extension not available.'); 10} 11?> 12--FILE-- 13<?php 14$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); 15if (!$socket) { 16 die('Unable to create AF_INET socket [socket]'); 17} 18socket_set_block($socket); 19 20//wrong params 21try { 22 $retval_1 = socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, []); 23} catch (\ValueError $e) { 24 echo $e->getMessage() . \PHP_EOL; 25} 26 27//set/get comparison 28$options = array("sec" => 1, "usec" => 0); 29$retval_2 = socket_set_option( $socket, SOL_SOCKET, SO_RCVTIMEO, $options); 30$retval_3 = socket_get_option( $socket, SOL_SOCKET, SO_RCVTIMEO); 31 32var_dump($retval_2); 33var_dump($retval_3 === $options); 34socket_close($socket); 35?> 36--EXPECT-- 37socket_set_option(): Argument #4 ($value) must have key "sec" 38bool(true) 39bool(true) 40