| SO_DEBUG | Сообщает, записывается ли отладочная информация. | int | 
         
          | SO_BROADCAST | Сообщает, поддерживается ли передача широковещательных сообщений. | int | 
         
          | SO_REUSEADDR | Сообщает, могут ли локальные адреса использоваться повторно. | int | 
         
          | SO_REUSEPORT | Сообщает, могут ли локальные порты использоваться повторно. | int | 
         
          | SO_KEEPALIVE | Сообщает, поддерживаются ли соединения с периодической передачей
           сообщений. Если подключённый сокет не отвечает на эти сообщения,
           подключение прерывается и процессы записи в этот сокет уведомляются
           сигналом SIGPIPE. | int | 
         
          | SO_LINGER | 
            Сообщает, будет ли socketостанавливаться
            на socket_close(), если данные присутствуют.
            По умолчанию, когда сокет закрыт, он попытается отправить все неотправленные
            данные. В случае сокета, ориентированного на подключение, socket_close()
            будет ожидать, пока его одноранговый узел подтвердит данные. 
            Если l_onoff отличен от нуля, а
            l_linger равно нулю, все неотправленные
            данные будут отброшены и RST (сброс) отправлен одноранговому узлу
            в случае сокета, ориентированного на подключение.
            
            С другой стороны, если l_onoff и l_linger
            отличны от нуля, socket_close() будет блокироваться до тех пор,
            пока все данные не будут отправлены или если время, указанное в l_linger, не истечёт.
            Если сокет не блокируется, socket_close() потерпит неудачу и вернёт ошибку.
            | array. Массив будет содержать два ключа:
           l_onoff и
           l_linger. | 
         
          | SO_OOBINLINE | Сообщает, выходит ли socketиз встроенных данных. | int | 
         
          | SO_SNDBUF | Сообщает размер отправленного буфера. | int | 
         
          | SO_RCVBUF | Сообщает о размере полученного буфера. | int | 
         
          | SO_ERROR | Сообщает информацию о статусе ошибки и очищает её. | int (не может быть установлен socket_set_option()) | 
         
          | SO_TYPE | Сообщает о типе socket(например,SOCK_STREAM). | int (не может быть установлен socket_set_option()) | 
         
          | SO_DONTROUTE | Сообщает, что исходящие сообщения обходят стандартные средства маршрутизации. | int | 
         
          | SO_RCVLOWAT | Сообщает минимальное количество байтов для обработки операций ввода socket. | int | 
         
          | SO_RCVTIMEO | Сообщает значение времени ожидания для операций ввода. | array. Массив будет содержать два ключа:
           sec, который является частью секунд для значения времени ожидания
           и usec, который является микросекундной частью значения времени ожидания. | 
         
          | SO_SNDTIMEO | Сообщает значение времени ожидания, указывающее количество времени, которое блокирует функция вывода,
           поскольку управление потоком предотвращает отправку данных. | array. Массив будет содержать два ключа:
           sec, который является частью секунд для значения времени ожидания
           и usec, который является микросекундной частью значения времени ожидания. | 
         
          | SO_SNDLOWAT | Сообщает минимальное количество байтов для обработки операцией вывода socket. | int | 
         
          | TCP_NODELAY | Сообщает, отключён ли алгоритм Nagle TCP. | int | 
         
          | MCAST_JOIN_GROUP | Присоединяется к многоадресной группе. | массив (array) с ключами "group", указав
           строку (string) с многоадресным адресом IPv4 или IPv6
           и"interface", указав либо номер интерфейса (тип int),
           либо строку (string) с именем интерфейса, например"eth0".0можно указать, чтобы сообщить, что интерфейс должен быть выбран с использованием правил маршрутизации.
           (может использоваться только в socket_set_option()) | 
         
          | MCAST_LEAVE_GROUP | Оставляет многоадресную группу. | массив (array). Смотрите MCAST_JOIN_GROUPдля получения
           дополнительной информации. (может использоваться только в
           socket_set_option()) | 
         
          | MCAST_BLOCK_SOURCE | Блокирует пакеты, поступающие из определённого источника
           в определённую группу многоадресной передачи,
           которые должны быть предварительно соединены. | массив (array) с такими же ключами, как у MCAST_JOIN_GROUP, плюс один дополнительный ключ,source, который представляет строку (string),
           указывающую адрес IPv4 или IPv6 источника, который должен быть заблокирован.
           (может использоваться только в socket_set_option()) | 
         
          | MCAST_UNBLOCK_SOURCE | Разблокирует (начинает приём снова) пакеты, поступающие с определённого
           исходного адреса в определённую группу многоадресной передачи,
           которая должна предварительно соединена. | массив (array) с таким же форматом, как у MCAST_BLOCK_SOURCE.
           (может использоваться только в socket_set_option()) | 
         
          | MCAST_JOIN_SOURCE_GROUP | Получать пакеты, предназначенные для конкретной группы многоадресной передачи,
           исходный адрес которого совпадает определённому значению. | массив (array) с тем же самым форматом, что у MCAST_BLOCK_SOURCE.
           (может использоваться только в socket_set_option()) | 
         
          | MCAST_LEAVE_SOURCE_GROUP | Остановить приём пакетов, предназначенных для конкретной группы многоадресной передачи,
           исходный адрес которого совпадает определённому значению. | массив (array) с тем же самым форматом, что у MCAST_BLOCK_SOURCE.
           (может использоваться только в socket_set_option()) | 
         
          | IP_MULTICAST_IF | Исходящий интерфейс для многоадресных пакетов IPv4. | Любое целое число (int), указывающее номер интерфейса или
           строку (string) с именем интерфейса, например, eth0. Значение 0 может использоваться
           для указания, что таблица маршрутизации используется для выбора интерфейса.
           Функция socket_get_option() возвращает индекс
           интерфейса.
           Обратите внимание, что в отличие от C API, эта опция НЕ принимает IP-адрес.
           Это устраняет разницу в интерфейсе междуIP_MULTICAST_IFиIPV6_MULTICAST_IF. | 
         
          | IPV6_MULTICAST_IF | Исходящий интерфейс для многоадресных пакетов IPv6. | То же, что и IP_MULTICAST_IF. | 
         
          | IP_MULTICAST_LOOP | Политика петли групповой передачи для пакетов IPv4 включает или отключает
           передачу исходящих многоадресных рассылок, которые должны быть предварительно присоединены.
           Эффект, однако, различается, в зависимости от применения в Unix или Windows:
           в первом случае на пути получения, а во втором - на пути отправки. | целое число (int) (либо 0, либо1). Для socket_set_option()
           любое значение будет принято и преобразовано в тип boolean,
           согласно обычным правилам PHP. | 
         
          | IPV6_MULTICAST_LOOP | Аналогично IP_MULTICAST_LOOP, но для IPv6. | int. See IP_MULTICAST_LOOP. | 
         
          | IP_MULTICAST_TTL | Время ожидания исходящих пакетов IPv4 для
           многоадресной передачи. Это должно быть значение между
           0 (не оставлять интерфейс) и 255. Значение по умолчанию - 1
           (достигается только локальная сеть). | целое число (int) между 0 и 255. | 
         
          | IPV6_MULTICAST_HOPS | Аналогично IP_MULTICAST_TTL, но для пакетов IPv6.
           Значение -1 также принимается, что означает использование маршрута по умолчанию. | целое число (int) между 0 и 255. | 
         
          | SO_MARK | Устанавливает идентификатор сокета для фильтрации пакетов в Linux. | int | 
         
          | SO_ACCEPTFILTER | Добавляет фильтр приёма на прослушиваемый сокет (FreeBSD/NetBSD).
           Модуль ядра фильтра приёма должен быть предварительно
           загружен в FreeBSD (например, accf_http). | Строка (string) имя фильтра (длина не более 15). | 
         
          | SO_USER_COOKIE | Устанавливает идентификатор сокета для фильтрации пакетов в FreeBSD. | int | 
         
          | SO_RTABLE | Устанавливает идентификатор сокета
           для фильтрации пакетов в OpenBSD. | int | 
         
          | SO_DONTTRUNC | Сохраняет непрочитанные данные. | int | 
         
          | SO_WANTMORE | Подсказывает, когда будет доступно больше данных. | int | 
         
          | TCP_DEFER_ACCEPT | Не уведомляет слушающий сокет, пока данные не будут готовы. | int | 
         
          | SO_INCOMING_CPU | Получает/устанавливает сродство к процессору для сокета. | int | 
         
          | SO_MEMINFO | Получает meminfo сокета. | int | 
         
          | SO_BPF_EXTENSIONS | Получает поддерживаемые ядром модули BPF для присоединения к сокету. | int | 
         
          | SO_SETFIB | Устанавливает таблицу маршрутизации (FIB) сокета (только FreeBSD). | int | 
         
          | SOL_FILTER | Фильтры, приписываемые сокету (только для Solaris/Illumos). | int | 
         
          | TCP_KEEPCNT | Устанавливает максимальное количество зондов keepalive,
           которые TCP должен отправить перед разрывом соединения. | int | 
         
          | TCP_KEEPIDLE | Устанавливает время, в течение которого соединение должно простаивать. | int | 
         
          | TCP_KEEPINTVL | Устанавливает время между отдельными зондами keepalive. | int | 
         
          | TCP_KEEPALIVE | Устанавливает время, в течение которого соединение должно простаивать (только для macOS). | int | 
         
          | TCP_NOTSENT_LOWAT | Устанавливает предельное количество неотправленных данных в очереди на запись потоком сокета (только для Linux). | int |