(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
socket_set_option — Modifie les options de socket
   socket_set_option() configure l'option spécifiée par
   option, au niveau de protocole
   level à la valeur pointée par
   value pour le socket spécifié par
   socket.
  
socketUne instance de Socket créée par socket_create() ou socket_accept().
level
       Le paramètre level spécifie la couche du
       protocole de l'option. Par exemple, pour modifier une option de
       la couche socket, un niveau égal à SOL_SOCKET
       va être utilisé. Les autres niveaux, comme TCP, peuvent être
       utilisés en spécifiant un numéro de protocole pour ce niveau.
       Les numéros de protocoles peuvent être utilisés en utilisant la fonction
       getprotobyname().
      
optionLes options disponibles sont les mêmes que pour la fonction socket_get_option().
valueLa valeur de l'option.
   Cette fonction retourne true en cas de succès ou false si une erreur survient.
  
| Version | Description | 
|---|---|
| 8.0.0 | 
  socket est désormais une instance de Socket ;
  auparavant, c'était une resource.
  | 
Exemple #1 Exemple avec socket_set_option()
<?php
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if (!is_resource($socket)) {
    echo 'Impossible de créer le socket : '. socket_strerror(socket_last_error()) . PHP_EOL;
}
if (!socket_set_option($socket, SOL_SOCKET, SO_REUSEADDR, 1)) {
    echo 'Impossible de définir l\'option du socket : '. socket_strerror(socket_last_error()) . PHP_EOL;
}
if (!socket_bind($socket, '127.0.0.1', 1223)) {
    echo 'Impossible de lier le socket : '. socket_strerror(socket_last_error()) . PHP_EOL;
}
$rval = socket_get_option($socket, SOL_SOCKET, SO_REUSEADDR);
if ($rval === false) {
    echo 'Impossible de récupérer l\'option du socket : '. socket_strerror(socket_last_error()) . PHP_EOL;
} else if ($rval !== 0) {
    echo 'SO_REUSEADDR est défini sur le socket !' . PHP_EOL;
}
?>