| SO_DEBUG | Reporta se a informação de depuração está sendo gravada. | int | 
         
          | SO_BROADCAST | Reporta se a transmissão de mensagens de difusão é suportada. | int | 
         
          | SO_REUSEADDR | Reporta se os endereços locais podem ser reutilizados. | int | 
         
          | SO_REUSEPORT | Reporta se as portas locais podem ser reutilizadas. | int | 
         
          | SO_KEEPALIVE | Reporta se as conexões são mantidas ativas com transmissão periódicas
           de mensagens. Se o soquete conectado falhar em responder a essas mensagens,
           a conexão é quebrada e os processos escrevendo nesse soquete são notificados
           com um sinal SIGPIPE. | int | 
         
          | SO_LINGER | 
            Informa se o soquete especificado em socketpermanece em
            socket_close() se houver dados presentes. Por padrão,
            quando o soquete é fechado, ele tenta enviar todos os dados não enviados.
            No caso de um soquete orientado a conexão,
            socket_close() aguardará que seu par
            reconheça os dados. 
            Se l_onoff for diferente de zero
            e l_linger for zero, todos os
            dados não enviados serão descartados e o RST (redefinição) será enviado ao
            par no caso de um soquete orientado a conexão.
            
            Por outro lado, se l_onoff for
            diferente de zero e l_linger for diferente de zero,
            socket_close() irá bloquear até que todos os dados
            sejam enviados ou que tenha passado o tempo especificado em l_linger.
            Se o soquete for não bloqueante,
            socket_close() falhará e retornará um erro.
            | array. O array conterá duas chaves:
           l_onoff e
           l_linger. | 
         
          | SO_OOBINLINE | Reporta se o socketmantém os dados fora-de-banda em linha. | int | 
         
          | SO_SNDBUF | Reporta o tamanho do buffer de envio. | int | 
         
          | SO_RCVBUF | Reporta o tamanho do buffer de recebimento. | int | 
         
          | SO_ERROR | Relata informações sobre o status do erro e o limpa. | int (não pode ser definido por socket_set_option()) | 
         
          | SO_TYPE | Reporta o tipo do socket(ex.:SOCK_STREAM). | int (não pode ser definido por socket_set_option()) | 
         
          | SO_DONTROUTE | Informa se as mensagens de saída ignoram os recursos de roteamento padrão. | int | 
         
          | SO_RCVLOWAT | Informa o número mínimo de bytes a serem processados para operações de
           entrada de socket. | int | 
         
          | SO_RCVTIMEO | Informa o valor do tempo limite para operações de entrada. | array. O array conterá duas chaves:
           sec que é a parte dos segundos no valor do tempo
           limite e usec que é a parte dos microssegundos
           do valor do tempo limite. | 
         
          | SO_SNDTIMEO | Informa o valor do tempo limite especificando a quantidade de tempo que uma função
           de saída bloqueia porque o controle de fluxo impede o envio de dados. | array. O array conterá duas chaves:
           sec que é a parte dos segundos no valor do tempo
           limite e usec que é a parte dos microssegundos
           do valor do tempo limite. | 
         
          | SO_SNDLOWAT | Informa o número mínimo de bytes a serem processados para operações de saída do socket. | int | 
         
          | TCP_NODELAY | Informa se o algoritmo Nagle TCP está desabilitado. | int | 
         
          | MCAST_JOIN_GROUP | Ingressa em um grupo "multicast". | array com chaves "group", especificando
           uma string com um endereço "multicast" IPv4 ou IPv6 e"interface", especificando um número de
           interface (tipo int) ou umastringcom
           o nome da interface, como"eth0".0pode ser especificado para indicar que a interface
           deve ser selecionada usando regras de roteamento. (só pode ser usada em
           socket_set_option()) | 
         
          | MCAST_LEAVE_GROUP | Sai de um grupo "multicast". | array. Veja MCAST_JOIN_GROUPpara
           mais informação. (só pode ser usada em
           socket_set_option()) | 
         
          | MCAST_BLOCK_SOURCE | Bloqueia pacotes que chegam de uma origem específica para um grupo
           "multicast" específico, no qual deve-se ter ingressado previamente. | array com as mesmas chaves de MCAST_JOIN_GROUP, mais uma chave extra,source, que mapeia a uma string
           especificando um endereço IPv4 ou IPv6 da origem a ser bloqueada.
           (só pode ser usada em socket_set_option()) | 
         
          | MCAST_UNBLOCK_SOURCE | Desbloqueia (volta a receber) pacotes que chegam de um endereço
           de origem específico para um grupo "multicast" específico, no qual deve-se
           ter ingressado previamente. | array com o mesmo formato de MCAST_BLOCK_SOURCE.
           (só pode ser usada em socket_set_option()) | 
         
          | MCAST_JOIN_SOURCE_GROUP | Recebe pacotes destinados a um grupo "multicast" específico cujo endereço
           de origem corresponde a um valor específico. | array com o mesmo formato de MCAST_BLOCK_SOURCE.
           (só pode ser usada em socket_set_option()) | 
         
          | MCAST_LEAVE_SOURCE_GROUP | Para de receber pacotes destinados a um grupo "multicast" específico cujo
           endereço de origem corresponde a um valor específico. | array com o mesmo formato de MCAST_BLOCK_SOURCE.
           (só pode ser usada em socket_set_option()) | 
         
          | IP_MULTICAST_IF | A interface de saída para pacotes "multicast" IPv4. | Pode ser um int especificando o número da interface ou uma
           string com um nome de interface, como eth0. O valor 0 pode ser usado para
           indicar a tabela de roteamento a ser usada na seleção da interface.
           A função socket_get_option() retorna um
           índice de interface.
           Observe que, diferentemente da API C, esta opção NÃO utiliza um endereço
           IP. Isto elimina a diferença de interface entreIP_MULTICAST_IFeIPV6_MULTICAST_IF. | 
         
          | IPV6_MULTICAST_IF | A interface de saída para pacotes "multicast" IPv6. | O mesmo que IP_MULTICAST_IF. | 
         
          | IP_MULTICAST_LOOP | A política de "loopback multicast" para pacotes IPv4 habilita ou desabilita
           o "loopback" de "multicasts" de saída, que devem ter sido previamente ingressados.
           O efeito difere, entretanto, se for aplicado em unixes ou Windows,
           o primeiro está no caminho de recepção enquanto o último está
           no caminho de envio. | int (pode ser 0ou1). Para socket_set_option(),
           qualquer valor será aceito e será convertido para um booleano
           seguindo as regras normais do PHP. | 
         
          | IPV6_MULTICAST_LOOP | Análoga a IP_MULTICAST_LOOP, porém para IPv6. | int. Veja IP_MULTICAST_LOOP. | 
         
          | IP_MULTICAST_TTL | O tempo de vida dos pacotes de saída IPv4 "multicast". Deve ser
           um valor entre 0 (não sair da interface) e 255. O padrão
           é 1 (apenas a rede local é alcançada). | int entre 0 e 255. | 
         
          | IPV6_MULTICAST_HOPS | Análoga a IP_MULTICAST_TTL, porém para pacotes
           IPv6. O valor -1 também é aceito e significa que a rota padrão
           deve ser usada. | int entre -1 e 255. | 
         
          | SO_MARK | Define um identificador no soquete com o objetivo de filtrar
           pacotes no Linux. | int | 
         
          | SO_ACCEPTFILTER | Adicionar um filtro de aceitação no soquete sendo escutado (FreeBSD/NetBSD).
           Um módulo de kernel de filtro de aceitação precisa ser carregado antecipadamente
           no FreeBSD (ex.: accf_http). | string. Nome do filtro (comprimento máximo de 15). | 
         
          | SO_USER_COOKIE | Define um identificador no soquete com o objetivo de filtrar
           pacotes no FreeBSD. | int | 
         
          | SO_RTABLE | Define um identificador no soquete com o objetivo de filtrar
           pacotes no OpenBSD. | int | 
         
          | SO_DONTTRUNC | Retém dados não lidos. | int | 
         
          | SO_WANTMORE | Fornece uma dica de quando mais dados estão prontos. | int | 
         
          | TCP_DEFER_ACCEPT | Não notifica um soquete que estiver escutando até que os dados estejam prontos. | int | 
         
          | SO_INCOMING_CPU | Obtém/define a afinidade de CPU de um soquete. | int | 
         
          | SO_MEMINFO | Obtém todas as informações de memória de um soquete. | int | 
         
          | SO_BPF_EXTENSIONS | Obtém as extensões BPF suportadas pelo kernel para anexar a um soquete. | int | 
         
          | SO_SETFIB | Define a tabela de rotas (FIB) de um soquete. (Somente FreeBSD) | int | 
         
          | SOL_FILTER | Filtros atribuídos a um soquete. (Somente Solaris/Illumos) | int | 
         
          | TCP_KEEPCNT | Define o número máximo de sondas de manutenção de atividade que o TCP deve enviar antes de interromper a conexão. | int | 
         
          | TCP_KEEPIDLE | Define o tempo que a conexão precisa permanecer ociosa. | int | 
         
          | TCP_KEEPINTVL | Define o tempo entre sondagens de manutenção de atividade individuais. | int | 
         
          | TCP_KEEPALIVE | Define o tempo que a conexão precisa permanecer ociosa. (somente macOS) | int | 
         
          | TCP_NOTSENT_LOWAT | Define o número limite de dados não enviados na fila de escrita pelo fluxo de soquete. (somente Linux) | int |