以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。
AF_UNIX
(int)
Unixドメイン中のファイルシステムパス名を示す、 ソケットアドレスファミリです。
AF_INET
(int)
インターネットドメインにおける、IPv4 のソケットアドレスファミリです。
AF_INET6
(int)
インターネットドメインにおける、IPv6 のソケットアドレスファミリです。 IPv6 サポートつきでコンパイルした場合にのみ使用可能です。
AF_DIVERT
(int)
FreeBSD の divert(4) インターフェイス用のソケットアドレスファミリで、
ファイアウォールによって divert されたパケットを受信するために使用します。
PHP 8.3.0 以降で利用可能(FreeBSD のみ)。
AF_PACKET
(int)
低レベルのパケットソケット用のソケットアドレスファミリで、 デバイスドライバ(OSI 第 2 層)レベルで生のパケットを送受信するために使用します。 PHP 8.5.0 以降で利用可能(Linux のみ)。
SOCK_STREAM
(int)
SOCK_DGRAM
(int)
SOCK_RAW
(int)
SOCK_SEQPACKET
(int)
SOCK_RDM
(int)
SOCK_CONN_DGRAM
(int)
コネクション志向のデータグラムをソケットに設定します。 PHP 8.4.0 以降で利用可能(NetBSD のみ)
SOCK_DCCP
(int)
データグラム輻輳制御プロトコルをソケットに設定します。 PHP 8.4.0 以降で利用可能(NetBSD のみ)
SOCK_NONBLOCK
(int)
ノンブロッキング状態フラグを設定します。 PHP 8.4.0 以降で利用可能。
SOCK_CLOEXEC
(int)
close-on-exec ソケット状態フラグを設定します。 PHP 8.4.0 以降で利用可能。
MSG_OOB
(int)
MSG_WAITALL
(int)
MSG_PEEK
(int)
MSG_DONTROUTE
(int)
MSG_EOR
(int)
Windows プラットフォームでは使用できません。
MSG_EOF
(int)
Windows プラットフォームでは使用できません。
MSG_ZEROCOPY
(int)
PHP 8.2.0 以降で利用可能。
SO_DEBUG
(int)
SO_REUSEADDR
(int)
SO_REUSEPORT
(int)
この定数は、ソケットオプション
SO_REUSEPORT に対応したプラットフォーム上でだけ使えます。
Linux, macOS や *BSD はこのソケットオプションに対応していますが、
Windows は対応していません。
SO_KEEPALIVE
(int)
SO_DONTROUTE
(int)
SO_LINGER
(int)
SO_BROADCAST
(int)
SO_OOBINLINE
(int)
SO_SNDBUF
(int)
SO_RCVBUF
(int)
SO_SNDLOWAT
(int)
SO_RCVLOWAT
(int)
SO_SNDTIMEO
(int)
SO_RCVTIMEO
(int)
SO_TYPE
(int)
SO_ERROR
(int)
SO_ZEROCOPY
(int)
PHP 8.2.0 以降で利用可能。
TCP_NODELAY
(int)
Nagle TCP アルゴリズムを無効にするために使用します。
TCP_KEEPCNT
(int)
PHP 8.2.0 以降で利用可能。
TCP_KEEPIDLE
(int)
PHP 8.2.0 以降で利用可能。
TCP_KEEPINTVL
(int)
PHP 8.2.0 以降で利用可能。
TCP_KEEPALIVE
(int)
PHP 8.2.0 以降で利用可能。
TCP_NOTSENT_LOWAT
(int)
PHP 8.2.0 以降で利用可能。
SO_MARK
(int)
PHP 8.1.0 以降で利用可能。
PHP 8.1.0 以降で利用可能。
SO_RTABLE
(int)
PHP 8.2.0 以降で利用可能。
SO_ACCEPTFILTER
(int)
PHP 8.1.0 以降で利用可能。
SO_DONTTRUNC
(int)
PHP 8.1.0 以降で利用可能。
SO_WANTMORE
(int)
PHP 8.1.0 以降で利用可能。
SO_INCOMING_CPU
(int)
PHP 8.2.0 以降で利用可能。
SO_MEMINFO
(int)
PHP 8.2.0 以降で利用可能。
SO_BPF_EXTENSIONS
(int)
PHP 8.2.0 以降で利用可能。
SO_SETFIB
(int)
PHP 8.2.0 以降で利用可能。
SO_ATTACH_REUSEPORT_CBPF
(int)
PHP 8.3.0 以降で利用可能(Linux のみ)。
SO_DETACH_BPF
(int)
PHP 8.3.0 以降で利用可能(Linux のみ)。
SO_DETACH_FILTER
(int)
PHP 8.3.0 以降で利用可能(Linux のみ)。
SO_RERROR
(int)
PHP 8.3.0 以降で利用可能(NetBSD のみ)。
SO_ZEROIZE
(int)
PHP 8.3.0 以降で利用可能(OpenBSD のみ)。
SO_SPLICE
(int)
PHP 8.3.0 以降で利用可能(OpenBSD のみ)。
SO_REUSEPORT_LB
(int)
PHP 8.3.0 以降で利用可能(FreeBSD のみ)。
SOL_FILTER
(int)
PHP 8.2.0 以降で利用可能。
SOL_UDPLITE
(int)
PHP 8.3.0 以降で利用可能。
UDPLITE_RECV_CSCOV
(int)
PHP 8.3.0 以降で利用可能。
UDPLITE_SEND_CSCOV
(int)
PHP 8.3.0 以降で利用可能。
TCP_DEFER_ACCEPT
(int)
PHP 8.1.0 以降で利用可能。
TCP_CONGESTION
(int)
PHP 8.2.0 以降で利用可能。
TCP_QUICKACK
(int)
PHP 8.3.0 以降で利用可能(Linux のみ)。
TCP_REPAIR
(int)
PHP 8.3.0 以降で利用可能(Linux のみ)。
TCP_SYNCNT
(int)
TCP が接続試行を中止する前に、送信すべき SYN 再送信の回数を設定します。 PHP 8.4.0 以降で利用可能(Linux のみ)。
IP_DONTFRAG
(int)
PHP 8.3.0 以降で利用可能(FreeBSD のみ)。
IP_MTU_DISCOVER
(int)
PHP 8.3.0 以降で利用可能(Linux のみ)。
IP_PMTUDISC_DO
(int)
PHP 8.3.0 以降で利用可能(Linux のみ)。
IP_PMTUDISC_DONT
(int)
PHP 8.3.0 以降で利用可能(Linux のみ)。
IP_PMTUDISC_WANT
(int)
PHP 8.3.0 以降で利用可能(Linux のみ)。
IP_PMTUDISC_PROBE
(int)
PHP 8.3.0 以降で利用可能(Linux のみ)。
IP_PMTUDISC_INTERFACE
(int)
PHP 8.3.0 以降で利用可能(Linux のみ)。
IP_PMTUDISC_OMIT
(int)
PHP 8.3.0 以降で利用可能(Linux のみ)。
IP_BIND_ADDRESS_NO_PORT
(int)
PHP 8.3.0 以降で利用可能(Linux のみ)。
SOL_SOCKET
(int)
PHP_NORMAL_READ
(int)
PHP_BINARY_READ
(int)
SOL_TCP
(int)
SOL_UDP
(int)
以下の定数は、Windows および UNIX ライクなプラットフォームで定義されています。 各定数は、そのプラットフォーム上で同等のものが定義されている場合にのみ定義されています。
SOCKET_EINTR
(int)
Interrupted system call.
SOCKET_EBADF
(int)
Bad file descriptor number.
SOCKET_EACCES
(int)
Permission denied.
SOCKET_EFAULT
(int)
Bad address.
SOCKET_EINVAL
(int)
Invalid argument.
SOCKET_EMFILE
(int)
Too many open files.
SOCKET_ENAMETOOLONG
(int)
File name too long.
SOCKET_ENOTEMPTY
(int)
Directory not empty.
SOCKET_ELOOP
(int)
Too many symbolic links encountered.
SOCKET_EWOULDBLOCK
(int)
Operation would block.
SOCKET_EREMOTE
(int)
Object is remote.
SOCKET_EUSERS
(int)
Too many users.
SOCKET_ENOTSOCK
(int)
Socket operation on non-socket.
SOCKET_EDESTADDRREQ
(int)
Destination address required.
SOCKET_EMSGSIZE
(int)
Message too long.
SOCKET_EPROTOTYPE
(int)
Protocol wrong type for socket.
SOCKET_EPROTONOSUPPORT
(int)
Protocol not supported.
SOCKET_ESOCKTNOSUPPORT
(int)
Socket type not supported.
SOCKET_EOPNOTSUPP
(int)
Operation not supported on transport endpoint.
SOCKET_EPFNOSUPPORT
(int)
Protocol family not supported.
SOCKET_EAFNOSUPPORT
(int)
Address family not supported by protocol.
SOCKET_EADDRNOTAVAIL
(int)
Cannot assign requested address.
SOCKET_ENETDOWN
(int)
Network is down.
SOCKET_ENETUNREACH
(int)
Network is unreachable.
SOCKET_ENETRESET
(int)
Network dropped connection because of reset.
SOCKET_ECONNABORTED
(int)
Software caused connection abort.
SOCKET_ECONNRESET
(int)
Connection reset by peer.
SOCKET_ENOBUFS
(int)
No buffer space available.
SOCKET_EISCONN
(int)
Transport endpoint is already connected.
SOCKET_ENOTCONN
(int)
Transport endpoint is not connected.
SOCKET_ESHUTDOWN
(int)
Cannot send after transport endpoint shutdown.
SOCKET_ETIMEDOUT
(int)
Connection timed out.
SOCKET_ECONNREFUSED
(int)
Connection refused.
SOCKET_EHOSTDOWN
(int)
Host is down.
SOCKET_EHOSTUNREACH
(int)
No route to host.
SOCKET_EALREADY
(int)
Operation already in progress.
SOCKET_EINPROGRESS
(int)
Operation now in progress.
以下の定数は、Windows でのみ定義されています。
SOCKET_ENOPROTOOPT
(int)
SOCKET_EADDRINUSE
(int)
SOCKET_ETOOMYREFS
(int)
SOCKET_EPROCLIM
(int)
SOCKET_EDUOT
(int)
SOCKET_ESTALE
(int)
SOCKET_EDISCON
(int)
SOCKET_SYSNOTREADY
(int)
SOCKET_VERNOTSUPPORTED
(int)
SOCKET_NOTINITIALISED
(int)
SOCKET_HOST_NOT_FOUND
(int)
SOCKET_TRY_AGAIN
(int)
SOCKET_NO_RECOVERY
(int)
SOCKET_NO_DATA
(int)
SOCKET_NO_ADDRESS
(int)
以下の定数は UNIX ライクなプラットフォームでのみ使用可能です。 各定数は、そのプラットフォーム上で同等のものが定義されている場合にのみ定義されています。
SOCKET_EPERM
(int)
Operation not permitted.
SOCKET_ENOENT
(int)
No such file or directory.
SOCKET_EIO
(int)
I/O error.
SOCKET_ENXIO
(int)
No such device or address.
SOCKET_E2BIG
(int)
Arg list too long.
SOCKET_EAGAIN
(int)
Try again.
SOCKET_ENOMEM
(int)
Out of memory.
SOCKET_ENOTBLK
(int)
Block device required.
SOCKET_EBUSY
(int)
Device or resource busy.
SOCKET_EEXIST
(int)
File exists.
SOCKET_EXDEV
(int)
Cross-device link.
SOCKET_ENODEV
(int)
No such device.
SOCKET_ENOTDIR
(int)
Not a directory.
SOCKET_EISDIR
(int)
Is a directory.
SOCKET_ENFILE
(int)
File table overflow.
SOCKET_ENOTTY
(int)
Not a typewriter.
SOCKET_ENOSPC
(int)
No space left on device.
SOCKET_ESPIPE
(int)
Illegal seek.
SOCKET_EROFS
(int)
Read-only file system.
SOCKET_EMLINK
(int)
Too many links.
SOCKET_EPIPE
(int)
Broken pipe.
SOCKET_ENOLCK
(int)
No record locks available.
SOCKET_ENOSYS
(int)
Function not implemented.
SOCKET_ENOMSG
(int)
No message of desired type.
SOCKET_EIDRM
(int)
Identifier removed.
SOCKET_ECHRNG
(int)
Channel number out of range.
SOCKET_EL2NSYNC
(int)
Level 2 not synchronized.
SOCKET_EL3HLT
(int)
Level 3 halted.
SOCKET_EL3RST
(int)
Level 3 reset.
SOCKET_ELNRNG
(int)
Link number out of range.
SOCKET_EUNATCH
(int)
Protocol driver not attached.
SOCKET_ENOCSI
(int)
No CSI structure available.
SOCKET_EL2HLT
(int)
Level 2 halted.
SOCKET_EBADE
(int)
Invalid exchange.
SOCKET_EBADR
(int)
Invalid request descriptor.
SOCKET_EXFULL
(int)
Exchange full.
SOCKET_ENOANO
(int)
No anode.
SOCKET_EBADRQC
(int)
Invalid request code.
SOCKET_EBADSLT
(int)
Invalid slot.
SOCKET_ENOSTR
(int)
Device not a stream.
SOCKET_ENODATA
(int)
No data available.
SOCKET_ETIME
(int)
Timer expired.
SOCKET_ENOSR
(int)
Out of streams resources.
SOCKET_ENONET
(int)
Machine is not on the network.
SOCKET_ENOLINK
(int)
Link has been severed.
SOCKET_EADV
(int)
Advertise error.
SOCKET_ESRMNT
(int)
Srmount error.
SOCKET_ECOMM
(int)
Communication error on send.
SOCKET_EPROTO
(int)
Protocol error.
SOCKET_EMULTIHOP
(int)
Multihop attempted.
SOCKET_EBADMSG
(int)
Not a data message.
SOCKET_ENOTUNIQ
(int)
Name not unique on network.
SOCKET_EBADFD
(int)
File descriptor in bad state.
SOCKET_EREMCHG
(int)
Remote address changed.
SOCKET_ERESTART
(int)
Interrupted system call should be restarted.
SOCKET_ESTRPIPE
(int)
Streams pipe error.
SOCKET_EPROTOOPT
(int)
Protocol not available.
SOCKET_ADDRINUSE
(int)
Address already in use.
SOCKET_ETOOMANYREFS
(int)
Too many references: cannot splice.
SOCKET_EISNAM
(int)
Is a named type file.
SOCKET_EREMOTEIO
(int)
Remote I/O error.
SOCKET_EDQUOT
(int)
Quota exceeded.
SOCKET_ENOMEDIUM
(int)
No medium found.
SOCKET_EMEDIUMTYPE
(int)
Wrong medium type.
SCM_RIGHTS
(int)
Send or receive a set of open file descriptors from another process.
SCM_CREDENTIALS
(int)
SCM_CREDS
(int)
PHP 8.2.0 以降で利用可能。
SCM_CREDS2
(int)
PHP 8.2.0 以降で利用可能。
LOCAL_CREDS
(int)
PHP 8.2.0 以降で利用可能。
LOCAL_CREDS_PERSISTENT
(int)
PHP 8.2.0 以降で利用可能。
SKF_AD_OFF
(int)
PHP 8.2.0 以降で利用可能。
SKF_AD_PROTOCOL
(int)
PHP 8.2.0 以降で利用可能。
SKF_AD_PKTTYPE
(int)
PHP 8.2.0 以降で利用可能。
SKF_AD_IFINDEX
(int)
PHP 8.2.0 以降で利用可能。
SKF_AD_NLATTR
(int)
PHP 8.2.0 以降で利用可能。
SKF_AD_NLATTR_NEST
(int)
PHP 8.2.0 以降で利用可能。
SKF_AD_MARK
(int)
PHP 8.2.0 以降で利用可能。
SKF_AD_QUEUE
(int)
PHP 8.2.0 以降で利用可能。
SKF_AD_HATYPE
(int)
PHP 8.2.0 以降で利用可能。
SKF_AD_RXHASH
(int)
PHP 8.2.0 以降で利用可能。
SKF_AD_CPU
(int)
PHP 8.2.0 以降で利用可能。
SKF_AD_ALU_XOR_X
(int)
PHP 8.2.0 以降で利用可能。
SKF_AD_VLAN_TAG
(int)
PHP 8.2.0 以降で利用可能。
SKF_AD_VLAN_TAG_PRESENT
(int)
PHP 8.2.0 以降で利用可能。
SKF_AD_PAY_OFFSET
(int)
PHP 8.2.0 以降で利用可能。
SKF_AD_RANDOM
(int)
PHP 8.2.0 以降で利用可能。
SKF_AD_VLAN_TPID
(int)
PHP 8.2.0 以降で利用可能。
SKF_AD_MAX
(int)
PHP 8.2.0 以降で利用可能。
AI_ADDRCONFIG
(int)
AI_ALL
(int)
AI_CANONIDN
(int)
AI_CANONNAME
(int)
AI_IDN
(int)
AI_NUMERICHOST
(int)
AI_NUMERICSERV
(int)
AI_PASSIVE
(int)
AI_V4MAPPED
(int)
FIL_ATTACH
(int)
FIL_DETACH
(int)
IPPROTO_IP
(int)
IPPROTO_IPV6
(int)
IPV6_HOPLIMIT
(int)
IPV6_MULTICAST_HOPS
(int)
IPV6_MULTICAST_IF
(int)
IPV6_MULTICAST_LOOP
(int)
IPV6_PKTINFO
(int)
IPV6_RECVHOPLIMIT
(int)
IPV6_RECVPKTINFO
(int)
IPV6_RECVTCLASS
(int)
IPV6_TCLASS
(int)
IPV6_UNICAST_HOPS
(int)
IPV6_V6ONLY
(int)
IP_MULTICAST_IF
(int)
IP_MULTICAST_LOOP
(int)
IP_MULTICAST_TTL
(int)
IP_PORTRANGE
(int)
ローカルのポート番号を選択する用途に使われる、 ポートの範囲を設定します。 PHP 8.4.0 以降で利用可能(FreeBSD/NetBSD/OpenBSD のみ)。
IP_PORTRANGE_DEFAULT
(int)
デフォルトのポートの範囲を設定します。 PHP 8.4.0 以降で利用可能(FreeBSD/NetBSD/OpenBSD のみ)。
IP_PORTRANGE_HIGH
(int)
高い範囲のポートを使います。 PHP 8.4.0 以降で利用可能(FreeBSD/NetBSD/OpenBSD のみ)。
IP_PORTRANGE_LOW
(int)
低い範囲のポートを使います。 PHP 8.4.0 以降で利用可能(FreeBSD/NetBSD/OpenBSD のみ)。
MCAST_BLOCK_SOURCE
(int)
MCAST_JOIN_GROUP
(int)
MCAST_JOIN_SOURCE_GROUP
(int)
MCAST_LEAVE_GROUP
(int)
MCAST_LEAVE_SOURCE_GROUP
(int)
MCAST_UNBLOCK_SOURCE
(int)
MSG_CMSG_CLOEXEC
(int)
MSG_CONFIRM
(int)
MSG_CTRUNC
(int)
MSG_DONTWAIT
(int)
MSG_ERRQUEUE
(int)
MSG_MORE
(int)
MSG_NOSIGNAL
(int)
MSG_TRUNC
(int)
MSG_WAITFORONE
(int)
SOL_LOCAL
(int)
SOMAXCONN
(int)
SO_BINDTODEVICE
(int)
SO_FAMILY
(int)
SO_LABEL
(int)
SO_LISTENQLEN
(int)
SO_LISTENQLIMIT
(int)
SO_PASSCRED
(int)
SO_PEERLABEL
(int)
SO_EXCLUSIVEADDRUSE
(int)
他のソケットが同じアドレスとポートに強制的にバインドされるのを防ぎます。 PHP 8.4.0 以降で利用可能(Windows のみ)。
SO_EXCLBIND
(int)
ソケットの排他的なバインディングを有効/無効にします。 PHP 8.4.0 以降で利用可能(Solaris のみ)。
SO_NOSIGPIPE
(int)
ソケットが SIGPIPE を生成するかどうかを制御します。 PHP 8.4.0 以降で利用可能(macOS と FreeBSD のみ)。
SO_LINGER_SEC
(int)
SO_LINGER に似ていますが、
macOs の time clicks とは対照的に、秒単位で設定します。
PHP 8.4.0 以降で利用可能(macOS のみ)。
SO_BINDTOIFINDEX
(int)
特定のネットワークインターフェイスに、インデックスでソケットをバインドします。 PHP 8.4.0 以降で利用可能。
SHUT_RD
(int)
ソケットでのこれ以降の受信操作を無効にします。 socket_shutdown() で使用します。 PHP 8.5.0 以降で利用可能。
SHUT_WR
(int)
ソケットでのこれ以降の送信操作を無効にします。 socket_shutdown() で使用します。 PHP 8.5.0 以降で利用可能。
SHUT_RDWR
(int)
ソケットでのこれ以降の送信操作と受信操作を無効にします。 socket_shutdown() で使用します。 PHP 8.5.0 以降で利用可能。
UDP_SEGMENT
(int)
UDP の Generic Segmentation Offload (GSO) セグメントの最大サイズを設定します。 これにより、ひとつのシステムコールで複数のデータグラムを送信できるようになります。 PHP 8.5.0 以降で利用可能(Linux のみ)。
SO_BUSY_POLL
(int)
ブロッキングモードでの受信時にデータがないときに ビジーポーリングを行う、おおよその時間をマイクロ秒単位で設定します。 これにより、CPU 使用率と引き換えにレイテンシが下がります。 PHP 8.5.0 以降で利用可能(Linux のみ)。
IP_BINDANY
(int)
ローカルのアドレスでなくても、任意のアドレスにソケットをバインドできるようにします。 PHP 8.5.0 以降で利用可能(FreeBSD/NetBSD/OpenBSD のみ)。
TCP_FUNCTION_BLK
(int)
ソケットが使用する TCP スタック(関数ブロック)を選択します。
socket_set_option() では、値はスタック名を表す文字列です。
socket_get_option() は、
function_set_name と pcbcnt
をキーに持つ配列を返します。
PHP 8.5.0 以降で利用可能(FreeBSD のみ)。
TCP_FUNCTION_ALIAS
(int)
ソケットが使用する TCP スタックのエイリアスを、
function_set_name と pcbcnt
をキーに持つ配列として取得します。
PHP 8.5.0 以降で利用可能(FreeBSD のみ)。
TCP_REUSPORT_LB_NUMA
(int)
負荷分散を行うポート再利用における NUMA ドメインアフィニティを制御します。 PHP 8.5.0 以降で利用可能(FreeBSD のみ)。
TCP_REUSPORT_LB_NUMA_NODOM
(int)
NUMA ドメインアフィニティを使用しないことを示す、
TCP_REUSPORT_LB_NUMA の定数値です。
PHP 8.5.0 以降で利用可能(FreeBSD のみ)。
TCP_REUSPORT_LB_NUMA_CURDOM
(int)
現在の NUMA ドメインへのアフィニティを示す、
TCP_REUSPORT_LB_NUMA の定数値です。
PHP 8.5.0 以降で利用可能(FreeBSD のみ)。
TCP_BBR_ALGORITHM
(int)
BBR (Bottleneck Bandwidth and Round-trip propagation time) 輻輳制御アルゴリズムに関連するソケットオプションです。 PHP 8.5.0 以降で利用可能(FreeBSD のみ)。
IPPROTO_ICMP
(int)
Internet Control Message Protocol (ICMP) のプロトコル番号です。 raw ソケットを作成する際に使用します。 PHP 8.5.0 以降で利用可能。
IPPROTO_ICMPV6
(int)
Internet Control Message Protocol version 6 (ICMPv6) のプロトコル番号です。 IPv6 の raw ソケットを作成する際に使用します。 PHP 8.5.0 以降で利用可能。