2024 年 PHP 日本會議

預定義常數

以下常數由此擴充套件定義,並且只有在擴充套件已編譯到 PHP 中或在執行階段動態載入時才會可用。

AF_UNIX (int)
Unix 域中檔案系統路徑名稱的通訊端位址系列。
AF_INET (int)
網際網路域中 IPv4 的通訊端位址系列。
AF_INET6 (int)
網際網路域中 IPv6 的通訊端位址系列。僅在編譯時支援 IPv6 才可用。
AF_DIVERT (整數 (int))
PHP 8.3.0 起可用(僅限 FreeBSD)
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))
設定執行時關閉通訊端狀態旗標。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))
系統呼叫中斷。
SOCKET_EBADF (整數 (int))
錯誤的檔案描述符編號。
SOCKET_EACCES (整數 (int))
權限被拒。
SOCKET_EFAULT (整數 (int))
錯誤的地址。
SOCKET_EINVAL (整數 (int))
無效的參數。
SOCKET_EMFILE (整數 (int))
開啟的檔案過多。
SOCKET_ENAMETOOLONG (整數 (int))
檔案名稱過長。
SOCKET_ENOTEMPTY (整數 (int))
目錄非空。
SOCKET_ELOOP (整數 (int))
遇到過多符號連結。
SOCKET_EWOULDBLOCK (整數 (int))
操作將會阻塞。
SOCKET_EREMOTE (整數 (int))
物件是遠端的。
SOCKET_EUSERS (整數 (int))
使用者過多。
SOCKET_ENOTSOCK (整數 (int))
在非 socket 上進行 socket 操作。
SOCKET_EDESTADDRREQ (整數 (int))
需要目標地址。
SOCKET_EMSGSIZE (整數 (int))
訊息過長。
SOCKET_EPROTOTYPE (整數 (int))
通訊協定類型錯誤,不適用於此 socket。
SOCKET_EPROTONOSUPPORT (整數 (int))
不支援的通訊協定。
SOCKET_ESOCKTNOSUPPORT (整數 (int))
不支援的 socket 類型。
SOCKET_EOPNOTSUPP (整數 (int))
在傳輸端點上不支援此操作。
SOCKET_EPFNOSUPPORT (整數 (int))
不支援的通訊協定家族。
SOCKET_EAFNOSUPPORT (整數)
通訊協定不支援位址系列。
SOCKET_EADDRNOTAVAIL (整數)
無法指定要求的位址。
SOCKET_ENETDOWN (整數)
網路已斷線。
SOCKET_ENETUNREACH (整數)
網路無法連線。
SOCKET_ENETRESET (整數)
網路因重置而斷線。
SOCKET_ECONNABORTED (整數)
軟體導致連線中止。
SOCKET_ECONNRESET (整數)
對方重置連線。
SOCKET_ENOBUFS (整數)
沒有可用的緩衝區空間。
SOCKET_EISCONN (整數)
傳輸端點已連線。
SOCKET_ENOTCONN (整數)
傳輸端點未連線。
SOCKET_ESHUTDOWN (整數)
傳輸端點關閉後無法傳送。
SOCKET_ETIMEDOUT (整數)
連線逾時。
SOCKET_ECONNREFUSED (整數)
連線被拒絕。
SOCKET_EHOSTDOWN (整數)
主機已關閉。
SOCKET_EHOSTUNREACH (整數)
沒有到主機的路由。
SOCKET_EALREADY (整數)
操作已在進行中。
SOCKET_EINPROGRESS (整數)
操作正在進行中。

以下常數僅在 Windows 下定義。

SOCKET_ENOPROTOOPT (整數)
SOCKET_EADDRINUSE (整數)
SOCKET_ETOOMYREFS (整數)
SOCKET_EPROCLIM (整數)
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))
不允許的操作。
SOCKET_ENOENT (整數 (int))
找不到檔案或目錄。
SOCKET_EIO (整數 (int))
輸入/輸出錯誤。
SOCKET_ENXIO (整數 (int))
沒有此裝置或位址。
SOCKET_E2BIG (整數 (int))
參數列表過長。
SOCKET_EAGAIN (整數 (int))
請重試。
SOCKET_ENOMEM (整數 (int))
記憶體不足。
SOCKET_ENOTBLK (整數 (int))
需要區塊裝置。
SOCKET_EBUSY (整數 (int))
裝置或資源忙碌中。
SOCKET_EEXIST (整數 (int))
檔案已存在。
SOCKET_EXDEV (整數 (int))
跨裝置連結。
SOCKET_ENODEV (整數 (int))
沒有此裝置。
SOCKET_ENOTDIR (整數 (int))
不是目錄。
SOCKET_EISDIR (int)
是目錄。
SOCKET_ENFILE (int)
檔案表溢位。
SOCKET_ENOTTY (int)
非電傳打字機。
SOCKET_ENOSPC (int)
裝置上沒有剩餘空間。
SOCKET_ESPIPE (int)
無效的搜尋。
SOCKET_EROFS (int)
唯讀檔案系統。
連結過多。
SOCKET_EPIPE (int)
管道破裂。
SOCKET_ENOLCK (int)
沒有可用的記錄鎖定。
SOCKET_ENOSYS (int)
函式未實作。
SOCKET_ENOMSG (int)
沒有所需類型的訊息。
SOCKET_EIDRM (int)
識別碼已移除。
SOCKET_ECHRNG (int)
通道號碼超出範圍。
SOCKET_EL2NSYNC (int)
層級 2 未同步。
SOCKET_EL3HLT (int)
層級 3 已停止。
SOCKET_EL3RST (int)
層級 3 已重設。
SOCKET_ELNRNG (int)
連結號碼超出範圍。
SOCKET_EUNATCH (int)
協定驅動程式未附加。
SOCKET_ENOCSI (int)
沒有可用的 CSI 結構。
SOCKET_EL2HLT (int)
層級 2 已停止。
SOCKET_EBADE (int)
無效的交換。
SOCKET_EBADR (int)
無效的請求描述元。
SOCKET_EXFULL (整數 (int))
交換區已滿。
SOCKET_ENOANO (整數 (int))
無陽極。
SOCKET_EBADRQC (整數 (int))
無效的請求代碼。
SOCKET_EBADSLT (整數 (int))
無效的插槽。
SOCKET_ENOSTR (整數 (int))
裝置不是資料流。
SOCKET_ENODATA (整數 (int))
沒有可用數據。
SOCKET_ETIME (整數 (int))
計時器逾時。
SOCKET_ENOSR (整數 (int))
資料流資源不足。
SOCKET_ENONET (整數 (int))
電腦不在網路上。
連結已斷線。
SOCKET_EADV (整數 (int))
宣告錯誤。
SOCKET_ESRMNT (整數 (int))
遠端掛載錯誤。
SOCKET_ECOMM (整數 (int))
傳送時發生通訊錯誤。
SOCKET_EPROTO (整數 (int))
協定錯誤。
SOCKET_EMULTIHOP (整數 (int))
嘗試多重跳躍。
SOCKET_EBADMSG (整數 (int))
不是數據訊息。
SOCKET_ENOTUNIQ (整數 (int))
名稱在網路上不唯一。
SOCKET_EBADFD (整數 (int))
檔案描述符處於錯誤狀態。
SOCKET_EREMCHG (整數 (int))
遠端位址已變更。
SOCKET_ERESTART (整數 (int))
中斷的系統呼叫應該重新啟動。
SOCKET_ESTRPIPE (整數 (int))
資料流管道錯誤。
SOCKET_EPROTOOPT (整數 (int))
協定不可用。
SOCKET_ADDRINUSE (整數 (int))
位址已被使用。
SOCKET_ETOOMANYREFS (整數 (int))
過多參考:無法拼接。
SOCKET_EISNAM (整數 (int))
是具名類型的檔案。
SOCKET_EREMOTEIO (整數 (int))
遠端 I/O 錯誤。
SOCKET_EDQUOT (整數 (int))
超出配額。
SOCKET_ENOMEDIUM (整數 (int))
找不到媒介。
SOCKET_EMEDIUMTYPE (整數 (int))
錯誤的媒介類型。
SCM_RIGHTS (整數 (int))
從另一個行程發送或接收一組已開啟的檔案描述符。
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))
防止其他 Socket 強制綁定到相同的地址和端口。PHP 8.4.0 起可用。(僅限 Windows)
SO_EXCLBIND (int)
啟用/禁用 Socket 的獨佔綁定。PHP 8.4.0 起可用。(僅限 Solaris)
SO_NOSIGPIPE (int)
控制 Socket 的 SIGPIPE 生成。PHP 8.4.0 起可用。(僅限 macOS 和 FreeBSD)
SO_LINGER_SEC (int)
類似於 SO_LINGER,但在 macOS 上以秒為單位,而不是以時間滴答為單位。PHP 8.4.0 起可用。(僅限 macOS)
SO_BINDTOIFINDEX (int)
透過索引將 Socket 綁定到特定的網路介面。PHP 8.4.0 起可用。
新增註解

使用者貢獻的註解 2 則註解

gvgvgvijayan at gmail dot com
11 年前
$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);
}
}

這可能看起來與之前的匿名文章重複,但該程式碼片段只會傳回常數值的 1
1-->首先透過傳遞參數 true 來呼叫 get_defined_constants 以對資料進行分類
2-->然後使用 foreach 迭代陣列的索引
3-->這裡使用 printf 來列印類別的標題
4-->然後它移動到內部陣列,並顯示每個類別中可用的常數列表及其值
kenverhaegen at gmail dot com
4 年前
看起來 SOCKET_EAGAIN 是 SOCKET_EWOULDBLOCK (int 11) 的別名
To Top