预定义常量

下列常量由此扩展定义,且仅在此扩展编译入 PHP 或在运行时动态载入时可用。

AF_UNIX (integer)
AF_INET (integer)
AF_INET6 (integer)
只有在编译时加入 IPv6 支持的时候才有效。
SOCK_STREAM (integer)
SOCK_DGRAM (integer)
SOCK_RAW (integer)
SOCK_SEQPACKET (integer)
SOCK_RDM (integer)
MSG_OOB (integer)
MSG_WAITALL (integer)
MSG_PEEK (integer)
MSG_DONTROUTE (integer)
MSG_EOR (integer)
在 Windows 平台上无效。
MSG_EOF (integer)
在 Windows 平台上无效。
SO_DEBUG (integer)
SO_REUSEADDR (integer)
SO_REUSEPORT (integer)
该常量在PHP5.4.10及以上版本,并且支持SO_REUSEPORTsocket选项的平台上可用。包括Mac OS X和FreeBSD,不包括Linux和Windows。
SO_KEEPALIVE (integer)
SO_DONTROUTE (integer)
SO_LINGER (integer)
SO_BROADCAST (integer)
SO_OOBINLINE (integer)
SO_SNDBUF (integer)
SO_RCVBUF (integer)
SO_SNDLOWAT (integer)
SO_RCVLOWAT (integer)
SO_SNDTIMEO (integer)
SO_RCVTIMEO (integer)
SO_TYPE (integer)
SO_ERROR (integer)
TCP_NODELAY (integer)
Used to disable Nagle TCP algorithm. Added in PHP 5.2.7.
SOL_SOCKET (integer)
PHP_NORMAL_READ (integer)
PHP_BINARY_READ (integer)
SOL_TCP (integer)
SOL_UDP (integer)

以下常量在Windows和类UNIX平台上被定义。每个常量只有在平台上有该常量值的时候才会被定义。

SOCKET_EINTR (integer)
中断系统调用。
SOCKET_EBADF (integer)
坏文件编号。
SOCKET_EACCES (integer)
拒绝访问。
SOCKET_EFAULT (integer)
错误的地址。
SOCKET_EINVAL (integer)
无效的参数。
SOCKET_EMFILE (integer)
打开的文件太多。
SOCKET_ENAMETOOLONG (integer)
文件名过长。
SOCKET_ENOTEMPTY (integer)
目录不为空。
SOCKET_ELOOP (integer)
Too many symbolic links encountered.
SOCKET_EWOULDBLOCK (integer)
操作将阻塞。
SOCKET_EREMOTE (integer)
对象是远程。
SOCKET_EUSERS (integer)
太多用户。
SOCKET_ENOTSOCK (integer)
非socket套接字操作。
SOCKET_EDESTADDRREQ (integer)
需要目的地址。
SOCKET_EMSGSIZE (integer)
消息太长。
SOCKET_EPROTOTYPE (integer)
socket协议类型错误。
SOCKET_EPROTONOSUPPORT (integer)
不支持的协议。
SOCKET_ESOCKTNOSUPPORT (integer)
不支持的socket类型。
SOCKET_EOPNOTSUPP (integer)
传输断点不支持的操作。
SOCKET_EPFNOSUPPORT (integer)
不支持的协议族。
SOCKET_EAFNOSUPPORT (integer)
协议不支持的地址族。
SOCKET_EADDRNOTAVAIL (integer)
不能分配请求的地址。
SOCKET_ENETDOWN (integer)
网络出现故障。
SOCKET_ENETUNREACH (integer)
网络不可达。
SOCKET_ENETRESET (integer)
复位,网络掉线。
SOCKET_ECONNABORTED (integer)
软件导致连接中止。
SOCKET_ECONNRESET (integer)
对方重置连接。
SOCKET_ENOBUFS (integer)
无可用的缓存区空间。
SOCKET_EISCONN (integer)
传输端点已经连接。
SOCKET_ENOTCONN (integer)
传输端点未连接。
SOCKET_ESHUTDOWN (integer)
传输端点关闭,无法发送。
SOCKET_ETIMEDOUT (integer)
连接超时。
SOCKET_ECONNREFUSED (integer)
连接被拒绝。
SOCKET_EHOSTDOWN (integer)
主机已关闭。
SOCKET_EHOSTUNREACH (integer)
没有路由到主机。
SOCKET_EALREADY (integer)
操作已在进行中。
SOCKET_EINPROGRESS (integer)
操作正在进行中。

以下常量只能在windows中定义。

SOCKET_ENOPROTOOPT (integer)
SOCKET_EADDRINUSE (integer)
SOCKET_ETOOMYREFS (integer)
SOCKET_EPROCLIM (integer)
SOCKET_EDUOT (integer)
SOCKET_ESTALE (integer)
SOCKET_EDISCON (integer)
SOCKET_SYSNOTREADY (integer)
SOCKET_VERNOTSUPPORTED (integer)
SOCKET_NOTINITIALISED (integer)
SOCKET_HOST_NOT_FOUND (integer)
SOCKET_TRY_AGAIN (integer)
SOCKET_NO_RECOVERY (integer)
SOCKET_NO_DATA (integer)
SOCKET_NO_ADDRESS (integer)

以下常量仅适用于类UNIX。 每个常量只有在该平台上此值可用时被定义。

SOCKET_EPERM (integer)
操作不允许。
SOCKET_ENOENT (integer)
文件或目录不存在。
SOCKET_EIO (integer)
I/O错误。
SOCKET_ENXIO (integer)
未找到设备或地址。
SOCKET_E2BIG (integer)
参数列表太长。
SOCKET_EAGAIN (integer)
请重试。
SOCKET_ENOMEM (integer)
内存不足。
SOCKET_ENOTBLK (integer)
需要块设备。
SOCKET_EBUSY (integer)
设备或资源忙。
SOCKET_EEXIST (integer)
文件存在。
SOCKET_EXDEV (integer)
跨设备链路。
SOCKET_ENODEV (integer)
设备不存在。
SOCKET_ENOTDIR (integer)
非目录。
SOCKET_EISDIR (integer)
是目录。
SOCKET_ENFILE (integer)
文件表溢出。
SOCKET_ENOTTY (integer)
不是打字机。
SOCKET_ENOSPC (integer)
设备上没有剩余空间。
SOCKET_ESPIPE (integer)
非法查找。
SOCKET_EROFS (integer)
文件系统只读。
链路太多。
SOCKET_EPIPE (integer)
管道断开。
SOCKET_ENOLCK (integer)
无可用的记录锁。
SOCKET_ENOSYS (integer)
函数未实现。
SOCKET_ENOMSG (integer)
无需要类型的消息。
SOCKET_EIDRM (integer)
标识符被删除。
SOCKET_ECHRNG (integer)
通道数超出范围。
SOCKET_EL2NSYNC (integer)
2级未同步。
SOCKET_EL3HLT (integer)
3级停止。
SOCKET_EL3RST (integer)
3级重置。
SOCKET_ELNRNG (integer)
链接数超出范围。
SOCKET_EUNATCH (integer)
协议驱动没有安装。
SOCKET_ENOCSI (integer)
没有可用的CSI结构。
SOCKET_EL2HLT (integer)
2级停止。
SOCKET_EBADE (integer)
无效的交换。
SOCKET_EBADR (integer)
无效的请求描述符。
SOCKET_EXFULL (integer)
交换满了。
SOCKET_ENOANO (integer)
无阳极。
SOCKET_EBADRQC (integer)
无效的请求代码。
SOCKET_EBADSLT (integer)
无效的插槽。
SOCKET_ENOSTR (integer)
设备不是流。
SOCKET_ENODATA (integer)
无可用的数据。
SOCKET_ETIME (integer)
计时器过期。
SOCKET_ENOSR (integer)
流资源不够用。
SOCKET_ENONET (integer)
机器不在网络上。
链接已被切断。
SOCKET_EADV (integer)
通知错误。
SOCKET_ESRMNT (integer)
Srmount错误。
SOCKET_ECOMM (integer)
发送时通信错误。
SOCKET_EPROTO (integer)
协议错误。
SOCKET_EMULTIHOP (integer)
多跳尝试。
SOCKET_EBADMSG (integer)
不是一个数据消息。
SOCKET_ENOTUNIQ (integer)
名称在网络上不唯一。
SOCKET_EBADFD (integer)
文件描述符处于错误状态。
SOCKET_EREMCHG (integer)
远程地址改变。
SOCKET_ERESTART (integer)
中断的系统调用应该被重新启动。
SOCKET_ESTRPIPE (integer)
流管道错误。
SOCKET_EPROTOOPT (integer)
协议不可用。
SOCKET_ADDRINUSE (integer)
地址已经被占用。
SOCKET_ETOOMANYREFS (integer)
过多的引用:无法接合。
SOCKET_EISNAM (integer)
是一个已命名类型的文件。
SOCKET_EREMOTEIO (integer)
远程I/O错误。
SOCKET_EDQUOT (integer)
超过配额。
SOCKET_ENOMEDIUM (integer)
未找到媒体。
SOCKET_EMEDIUMTYPE (integer)
错误的媒体类型。

User Contributed Notes

kenverhaegen at gmail dot com 15-Apr-2020 10:14
Seems like SOCKET_EAGAIN is an alias of SOCKET_EWOULDBLOCK (int 11)
yyb8 at vip dot qq dot com 03-Apr-2017 05:44
note:Linux kernel 3.9  now support SO_REUSEPORT option
gvgvgvijayan at gmail dot com 07-Jun-2013 02:15
$a = get_defined_constants(TRUE);
foreach ($a as $k => $v) {
    printf('%-25s <br/>', $k);
    foreach ($v as $k => $v) {
        printf('&nbsp;&nbsp;&nbsp;&nbsp--->%-25s %d<br/>', $k, $v);
    }
}

this may look duplicate for previous anonymous post but that code snippet only return 1 for constants value
1-->first called the get_defined_constants by passing argument true to categorize the data
2-->then using foreach iterate over index of the array
3-->here printf is used to print title of the category
4-->then it move on to interrior array and display the list of contants available in each category along with its value
Anonymous 14-Apr-2012 03:20
We can know sockets constants values with :

<?php
$a
= get_defined_constants(TRUE) ;
foreach (
$a['sockets'] as $constant => $value ) {
   
printf("%-25s %d\r\n", $constant, $value) ;
}
?>

AF_UNIX                   1
AF_INET                   2
AF_INET6                  23
SOCK_STREAM               1
SOCK_DGRAM                2
SOCK_RAW                  3
SOCK_SEQPACKET            5
SOCK_RDM                  4
MSG_OOB                   1
MSG_WAITALL               0
MSG_PEEK                  2
MSG_DONTROUTE             4
SO_DEBUG                  1
SO_REUSEADDR              4
SO_KEEPALIVE              8
SO_DONTROUTE              16
SO_LINGER                 128
SO_BROADCAST              32
SO_OOBINLINE              256
SO_SNDBUF                 4097
SO_RCVBUF                 4098
SO_SNDLOWAT               4099
SO_RCVLOWAT               4100
SO_SNDTIMEO               4101
SO_RCVTIMEO               4102
SO_TYPE                   4104
SO_ERROR                  4103
SOL_SOCKET                65535
SOMAXCONN                 2147483647
TCP_NODELAY               1
PHP_NORMAL_READ           1
PHP_BINARY_READ           2
SOCKET_EINTR              10004
SOCKET_EBADF              10009
SOCKET_EACCES             10013
SOCKET_EFAULT             10014
SOCKET_EINVAL             10022
SOCKET_EMFILE             10024
SOCKET_EWOULDBLOCK        10035
SOCKET_EINPROGRESS        10036
SOCKET_EALREADY           10037
SOCKET_ENOTSOCK           10038
SOCKET_EDESTADDRREQ       10039
SOCKET_EMSGSIZE           10040
SOCKET_EPROTOTYPE         10041
SOCKET_ENOPROTOOPT        10042
SOCKET_EPROTONOSUPPORT    10043
SOCKET_ESOCKTNOSUPPORT    10044
SOCKET_EOPNOTSUPP         10045
SOCKET_EPFNOSUPPORT       10046
SOCKET_EAFNOSUPPORT       10047
SOCKET_EADDRINUSE         10048
SOCKET_EADDRNOTAVAIL      10049
SOCKET_ENETDOWN           10050
SOCKET_ENETUNREACH        10051
SOCKET_ENETRESET          10052
SOCKET_ECONNABORTED       10053
SOCKET_ECONNRESET         10054
SOCKET_ENOBUFS            10055
SOCKET_EISCONN            10056
SOCKET_ENOTCONN           10057
SOCKET_ESHUTDOWN          10058
SOCKET_ETOOMANYREFS       10059
SOCKET_ETIMEDOUT          10060
SOCKET_ECONNREFUSED       10061
SOCKET_ELOOP              10062
SOCKET_ENAMETOOLONG       10063
SOCKET_EHOSTDOWN          10064
SOCKET_EHOSTUNREACH       10065
SOCKET_ENOTEMPTY          10066
SOCKET_EPROCLIM           10067
SOCKET_EUSERS             10068
SOCKET_EDQUOT             10069
SOCKET_ESTALE             10070
SOCKET_EREMOTE            10071
SOCKET_EDISCON            10101
SOCKET_SYSNOTREADY        10091
SOCKET_VERNOTSUPPORTED    10092
SOCKET_NOTINITIALISED     10093
SOCKET_HOST_NOT_FOUND     11001
SOCKET_TRY_AGAIN          11002
SOCKET_NO_RECOVERY        11003
SOCKET_NO_DATA            11004
SOCKET_NO_ADDRESS         11004
SOL_TCP                   6
SOL_UDP                   17
PHP8中文手册 站长在线 整理 版权归PHP文档组所有