-
Notifications
You must be signed in to change notification settings - Fork 731
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Document missing internal global constants #2747
Comments
In the hopes of being helpful for some of these... I went through the cURL constants listed here, making some notes: getinfo page has these constants listed with brief explanations: CURLINFO_HTTP_CONNECTCODE predefined constants page has this one listed with a brief explanation. usually this page mentions only the curl & php version the constant was made available, unlike this case: CURLOPT_ISSUERCERT setopt page has these listed with a brief explanation: CURLOPT_RESOLVE the options below are mentioned under the CURLOPT_PROTOCOLS documentation under the setopt page, they are all available bitmask values for CURLOPT_PROTOCOLS. I'm not sure if there's further need to explain each of them? however, they are missing from the predefined constants page. In fact, if I look at the predefined constants page, I only see three CURLPROTO_* listed (_SMB, _SMBS, _MQTT) - I think this page needs some love :) either to fix the inconsistency or, well, have some method to the madness :D CURLPROTO_ALL further FYI, the options below aren't mentioned under CURLOPT_PROTOCOLS but are in the list of constants in this issue: CURLPROTO_GOPHER the rest of the cURL constants listed here aren't found in getinfo, setopt or predefined constants pages. I hope this helps! |
Hi @ekinhbayar Thanks for your help! I think we should settle on some convention how to document global constants. Now, they can be either documented on method synopses pages or in the predefined constant pages, or rarely on class synopses pages (https://www.php.net/manual/en/class.datetimeinterface.php#datetimeinterface.constants.atom). IMO this is not an ideal case since there is not a single source of truth and autogeneration/detection of global constants is difficult. That's why I believe all global constants should be displayed on a predefined constant page, and we could reference them from other pages (the format parameter of https://www.php.net/manual/en/datetime.format.php is a good example where the description of a constant is referenced). |
@kocsismate I agree that there should be a single source of truth for predefined constants. Documenting them on the predefined constants page and referencing it everywhere applicable makes sense to me. It'd be a biiig change but in the long term it could make maintenance easier. If this, or any other alternative solution gets settled on, I'd be happy to help with the work needed for it. |
I'd like to start working on the cURL constants. As the first steps, I'd like to add What I do have a question about is formatting of the predefined constants page. After moving the constants there and breaking these up into appropriate lists/sections/groups, may I format these as tables or do you need me to convert the tables I'm moving from the functions' pages to match the format of the predefined constants. I personally prefer tables, as I think the |
Good question... Neither I'm sure. I also like the formatting of tables, but they are more difficult to autogenerate (mostly because the content of the preexisting ones differ in some cases). We had some conversation somewhere with @Girgias about the pros and cons of tables, but I couldn't find it now... However, I agree that we should come to a conclusion about the used formatting. |
Nothing prevents us from rendering a |
And the header rows of these tables would be marked with an attribute/value too? E.g. This may already have an established standard, but how could these tables be grouped? I'm looking at the cURL docs and the constants under the |
Those should be easy to generate within PhD as most tables just have 3 columns, the constant name, the value (which should be removed), and the description. Which is basically what corresponds to the
I'm not sure that curl docs are what I would call amazing. :/ It might make sense to have lists of the sort: |
So Phd could render the constant lists with the appropriate attribute as a table. I'm assuming this is a theoretical possibility at this point, right? If so, I could go through the all the constant tables / lists in cURL and make sure they're all in a format that would easily lend itself to be converted to the E.g. <tbody>
<row>
<entry></entry>
<entry></entry>
</row>
</tbody> which could easily be converted to <variablelist>
<varlistentry>
<term></term>
<listitem></listitem>
</varlistentry>
</variablelist> This way all the constant lists' formatting could be synced up and all constants could be moved to the constants page (with a In addition, I could add all the missing constants to the table(s) without having to worry about formatting. :-) |
Yes PhD doesn't support this yet, but I don't think it should be too hard (for PhD standards as that codebase is... interesting). Having a consistent formatting on a page should also allow the php-src genstub.php script to be able to generate/update the appropriate pages too, something it can't actually do at the moment :/ If you could go through this that would be great, although I might wait before merging some of the PRs depending on the impact for translations. |
I've just checked the four cURL functions that list constants in their parameter descriptions. All but one, which is using a I'll convert the list on the |
I've just opened the first PR for the standardizing the tables for the cURL constants (and later to move all tables to the constant list page).
If that is any help and speeds up things, I could do the "manual labor" part of converting the |
The main issue is that the translation might not be up-to-date already, you can have a look at http://doc.php.net/ FR, JA, RU, DE and ZH are roughly up-to-date, however ES (Spanish) is very outdated in general. But doing the work would be appreciated :) |
Could someone remove the below four PostgreSQL constants from this list as the PR adding them was reverted? PGSQL_PIPELINE_SYNC |
Done :) |
@kocsismate There is now a PR for each of the constants on the original list (see this gist for the PRs) with only three of them still open (#3513, #3636 and #3671). Unless some of the new constants for 8.4 have not been documented, I think we are done with documenting all missing constants. :-) |
@haszi Thank you very much for all your efforts, it's a very nice accomplishment to document almost all constants! I've just reran the validator with the following result: https://gist.github.com/kocsismate/1e7502a32388499dbcef87017681c422 Besides the |
The following internal global constants are not yet documented:
ZEND_THREAD_SAFE
ZEND_DEBUG_BUILD
LOCALE_SYSTEM_DEFAULT
(Add missing COM constants #3043)LOCALE_NEUTRAL
(Add missing COM constants #3043)DISP_E_PARAMNOTFOUND
(Add missing COM constants #3043)CURLOPT_PREQUOTE
CURLOPT_READDATA
CURLOPT_SHARE
CURLOPT_TELNETOPTIONS
CURLOPT_XFERINFOFUNCTION
CURLE_BAD_DOWNLOAD_RESUME
CURLE_FTP_PARTIAL_FILE
CURLE_HTTP_RETURNED_ERROR
CURLE_OPERATION_TIMEDOUT
CURLE_SSL_PINNEDPUBKEYNOTMATCH
CURLINFO_LASTONE
CURLINFO_EFFECTIVE_METHOD
CURLINFO_CAPATH
CURLINFO_CAINFO
CURLM_ADDED_ALREADY
CURLSHOPT_NONE
CURLSHOPT_SHARE
CURLSHOPT_UNSHARE
CURL_LOCK_DATA_COOKIE
CURL_LOCK_DATA_DNS
CURL_LOCK_DATA_SSL_SESSION
CURLAUTH_NONE
CURLINFO_HTTP_CONNECTCODE
CURLINFO_HTTPAUTH_AVAIL
CURLINFO_PROXYAUTH_AVAIL
CURLOPT_FTP_RESPONSE_TIMEOUT
CURLOPT_IPRESOLVE
CURLOPT_MAXFILESIZE
CURL_IPRESOLVE_V4
CURL_IPRESOLVE_V6
CURL_IPRESOLVE_WHATEVER
CURLOPT_NETRC_FILE
CURLOPT_FTP_ACCOUNT
CURLINFO_OS_ERRNO
CURLINFO_NUM_CONNECTS
CURLINFO_SSL_ENGINES
CURLINFO_COOKIELIST
CURLOPT_IGNORE_CONTENT_LENGTH
CURLOPT_FTP_SKIP_PASV_IP
CURLOPT_FTP_FILEMETHOD
CURLOPT_CONNECT_ONLY
CURLOPT_LOCALPORT
CURLOPT_LOCALPORTRANGE
CURLFTPMETHOD_MULTICWD
CURLFTPMETHOD_NOCWD
CURLFTPMETHOD_SINGLECWD
CURLINFO_FTP_ENTRY_PATH
CURLOPT_FTP_ALTERNATIVE_TO_USER
CURLE_SSL_CACERT_BADFILE
CURLOPT_SSL_SESSIONID_CACHE
CURLOPT_FTP_SSL_CCC
CURLFTPSSL_CCC_ACTIVE
CURLFTPSSL_CCC_NONE
CURLFTPSSL_CCC_PASSIVE
CURLOPT_HTTP_CONTENT_DECODING
CURLOPT_HTTP_TRANSFER_DECODING
CURLOPT_KRBLEVEL
CURLOPT_NEW_DIRECTORY_PERMS
CURLOPT_NEW_FILE_PERMS
CURLOPT_APPEND
CURLOPT_DIRLISTONLY
CURLOPT_USE_SSL
CURLUSESSL_ALL
CURLUSESSL_CONTROL
CURLUSESSL_NONE
CURLUSESSL_TRY
CURLOPT_PROXY_TRANSFER_MODE
CURL_READFUNC_PAUSE
CURL_WRITEFUNC_PAUSE
CURLINFO_APPCONNECT_TIME
CURLOPT_ADDRESS_SCOPE
CURLOPT_CRLFILE
CURLOPT_ISSUERCERT
CURLINFO_CERTINFO
CURLOPT_CERTINFO
CURLOPT_PASSWORD
CURLOPT_POSTREDIR
CURLOPT_PROXYPASSWORD
CURLOPT_PROXYUSERNAME
CURLAUTH_DIGEST_IE
CURLINFO_CONDITION_UNMET
CURLOPT_NOPROXY
CURLOPT_PROTOCOLS
CURLOPT_REDIR_PROTOCOLS
CURLOPT_SOCKS5_GSSAPI_NEC
CURLOPT_SOCKS5_GSSAPI_SERVICE
CURLOPT_TFTP_BLKSIZE
CURLPROTO_ALL
CURLPROTO_DICT
CURLPROTO_FILE
CURLPROTO_FTP
CURLPROTO_FTPS
CURLPROTO_HTTP
CURLPROTO_HTTPS
CURLPROTO_LDAP
CURLPROTO_LDAPS
CURLPROTO_SCP
CURLPROTO_SFTP
CURLPROTO_TELNET
CURLPROTO_TFTP
CURLOPT_SSH_KNOWNHOSTS
CURLKHMATCH_OK
CURLKHMATCH_MISMATCH
CURLKHMATCH_MISSING
CURLKHMATCH_LAST
CURLINFO_RTSP_CLIENT_CSEQ
CURLINFO_RTSP_CSEQ_RECV
CURLINFO_RTSP_SERVER_CSEQ
CURLINFO_RTSP_SESSION_ID
CURLOPT_FTP_USE_PRET
CURLOPT_MAIL_FROM
CURLOPT_MAIL_RCPT
CURLOPT_RTSP_CLIENT_CSEQ
CURLOPT_RTSP_REQUEST
CURLOPT_RTSP_SERVER_CSEQ
CURLOPT_RTSP_SESSION_ID
CURLOPT_RTSP_STREAM_URI
CURLOPT_RTSP_TRANSPORT
CURLPROTO_IMAP
CURLPROTO_IMAPS
CURLPROTO_POP3
CURLPROTO_POP3S
CURLPROTO_RTSP
CURLPROTO_SMTP
CURLPROTO_SMTPS
CURL_RTSPREQ_ANNOUNCE
CURL_RTSPREQ_DESCRIBE
CURL_RTSPREQ_GET_PARAMETER
CURL_RTSPREQ_OPTIONS
CURL_RTSPREQ_PAUSE
CURL_RTSPREQ_PLAY
CURL_RTSPREQ_RECEIVE
CURL_RTSPREQ_RECORD
CURL_RTSPREQ_SET_PARAMETER
CURL_RTSPREQ_SETUP
CURL_RTSPREQ_TEARDOWN
CURLOPT_FNMATCH_FUNCTION
CURLOPT_WILDCARDMATCH
CURLPROTO_RTMP
CURLPROTO_RTMPE
CURLPROTO_RTMPS
CURLPROTO_RTMPT
CURLPROTO_RTMPTE
CURLPROTO_RTMPTS
CURL_FNMATCHFUNC_FAIL
CURL_FNMATCHFUNC_MATCH
CURL_FNMATCHFUNC_NOMATCH
CURLPROTO_GOPHER
CURLAUTH_ONLY
CURLOPT_RESOLVE
CURLOPT_TLSAUTH_PASSWORD
CURLOPT_TLSAUTH_TYPE
CURLOPT_TLSAUTH_USERNAME
CURL_TLSAUTH_SRP
CURLOPT_ACCEPT_ENCODING
CURLOPT_TRANSFER_ENCODING
CURLGSSAPI_DELEGATION_FLAG
CURLGSSAPI_DELEGATION_POLICY_FLAG
CURLOPT_GSSAPI_DELEGATION
CURLOPT_ACCEPTTIMEOUT_MS
CURLOPT_DNS_SERVERS
CURLOPT_MAIL_AUTH
CURLOPT_HTTP09_ALLOWED
CURLOPT_MIME_OPTIONS
CURLMIMEOPT_FORMESCAPE
CURLOPT_SSH_HOSTKEYFUNCTION
CURLOPT_PROTOCOLS_STR
CURLOPT_REDIR_PROTOCOLS_STR
CURLOPT_WS_OPTIONS
CURLWS_RAW_MODE
CURLOPT_CA_CACHE_TIMEOUT
CURLOPT_QUICK_EXIT
CURLOPT_SAFE_UPLOAD
XML_GLOBAL_NAMESPACE
XML_LOCAL_NAMESPACE
FILEINFO_APPLE
IMG_TGA
GMP_MPIR_VERSION
ULOC_ACTUAL_LOCALE
ULOC_VALID_LOCALE
U_USING_FALLBACK_WARNING
U_ERROR_WARNING_START
U_USING_DEFAULT_WARNING
U_SAFECLONE_ALLOCATED_WARNING
U_STATE_OLD_WARNING
U_STRING_NOT_TERMINATED_WARNING
U_SORT_KEY_TOO_SHORT_WARNING
U_AMBIGUOUS_ALIAS_WARNING
U_DIFFERENT_UCA_VERSION
U_ERROR_WARNING_LIMIT
U_ZERO_ERROR
U_ILLEGAL_ARGUMENT_ERROR
U_MISSING_RESOURCE_ERROR
U_INVALID_FORMAT_ERROR
U_FILE_ACCESS_ERROR
U_INTERNAL_PROGRAM_ERROR
U_MESSAGE_PARSE_ERROR
U_MEMORY_ALLOCATION_ERROR
U_INDEX_OUTOFBOUNDS_ERROR
U_PARSE_ERROR
U_INVALID_CHAR_FOUND
U_TRUNCATED_CHAR_FOUND
U_ILLEGAL_CHAR_FOUND
U_INVALID_TABLE_FORMAT
U_INVALID_TABLE_FILE
U_BUFFER_OVERFLOW_ERROR
U_UNSUPPORTED_ERROR
U_RESOURCE_TYPE_MISMATCH
U_ILLEGAL_ESCAPE_SEQUENCE
U_UNSUPPORTED_ESCAPE_SEQUENCE
U_NO_SPACE_AVAILABLE
U_CE_NOT_FOUND_ERROR
U_PRIMARY_TOO_LONG_ERROR
U_STATE_TOO_OLD_ERROR
U_TOO_MANY_ALIASES_ERROR
U_ENUM_OUT_OF_SYNC_ERROR
U_INVARIANT_CONVERSION_ERROR
U_INVALID_STATE_ERROR
U_COLLATOR_VERSION_MISMATCH
U_USELESS_COLLATOR_ERROR
U_NO_WRITE_PERMISSION
U_STANDARD_ERROR_LIMIT
U_BAD_VARIABLE_DEFINITION
U_PARSE_ERROR_START
U_MALFORMED_RULE
U_MALFORMED_SET
U_MALFORMED_SYMBOL_REFERENCE
U_MALFORMED_UNICODE_ESCAPE
U_MALFORMED_VARIABLE_DEFINITION
U_MALFORMED_VARIABLE_REFERENCE
U_MISMATCHED_SEGMENT_DELIMITERS
U_MISPLACED_ANCHOR_START
U_MISPLACED_CURSOR_OFFSET
U_MISPLACED_QUANTIFIER
U_MISSING_OPERATOR
U_MISSING_SEGMENT_CLOSE
U_MULTIPLE_ANTE_CONTEXTS
U_MULTIPLE_CURSORS
U_MULTIPLE_POST_CONTEXTS
U_TRAILING_BACKSLASH
U_UNDEFINED_SEGMENT_REFERENCE
U_UNDEFINED_VARIABLE
U_UNQUOTED_SPECIAL
U_UNTERMINATED_QUOTE
U_RULE_MASK_ERROR
U_MISPLACED_COMPOUND_FILTER
U_MULTIPLE_COMPOUND_FILTERS
U_INVALID_RBT_SYNTAX
U_INVALID_PROPERTY_PATTERN
U_MALFORMED_PRAGMA
U_UNCLOSED_SEGMENT
U_ILLEGAL_CHAR_IN_SEGMENT
U_VARIABLE_RANGE_EXHAUSTED
U_VARIABLE_RANGE_OVERLAP
U_ILLEGAL_CHARACTER
U_INTERNAL_TRANSLITERATOR_ERROR
U_INVALID_ID
U_INVALID_FUNCTION
U_PARSE_ERROR_LIMIT
U_UNEXPECTED_TOKEN
U_FMT_PARSE_ERROR_START
U_MULTIPLE_DECIMAL_SEPARATORS
U_MULTIPLE_DECIMAL_SEPERATORS
U_MULTIPLE_EXPONENTIAL_SYMBOLS
U_MALFORMED_EXPONENTIAL_PATTERN
U_MULTIPLE_PERCENT_SYMBOLS
U_MULTIPLE_PERMILL_SYMBOLS
U_MULTIPLE_PAD_SPECIFIERS
U_PATTERN_SYNTAX_ERROR
U_ILLEGAL_PAD_POSITION
U_UNMATCHED_BRACES
U_UNSUPPORTED_PROPERTY
U_UNSUPPORTED_ATTRIBUTE
U_FMT_PARSE_ERROR_LIMIT
U_BRK_INTERNAL_ERROR
U_BRK_ERROR_START
U_BRK_HEX_DIGITS_EXPECTED
U_BRK_SEMICOLON_EXPECTED
U_BRK_RULE_SYNTAX
U_BRK_UNCLOSED_SET
U_BRK_ASSIGN_ERROR
U_BRK_VARIABLE_REDFINITION
U_BRK_MISMATCHED_PAREN
U_BRK_NEW_LINE_IN_QUOTED_STRING
U_BRK_UNDEFINED_VARIABLE
U_BRK_INIT_ERROR
U_BRK_RULE_EMPTY_SET
U_BRK_UNRECOGNIZED_OPTION
U_BRK_MALFORMED_RULE_TAG
U_BRK_ERROR_LIMIT
U_REGEX_INTERNAL_ERROR
U_REGEX_ERROR_START
U_REGEX_RULE_SYNTAX
U_REGEX_INVALID_STATE
U_REGEX_BAD_ESCAPE_SEQUENCE
U_REGEX_PROPERTY_SYNTAX
U_REGEX_UNIMPLEMENTED
U_REGEX_MISMATCHED_PAREN
U_REGEX_NUMBER_TOO_BIG
U_REGEX_BAD_INTERVAL
U_REGEX_MAX_LT_MIN
U_REGEX_INVALID_BACK_REF
U_REGEX_INVALID_FLAG
U_REGEX_LOOK_BEHIND_LIMIT
U_REGEX_SET_CONTAINS_STRING
U_REGEX_ERROR_LIMIT
U_IDNA_PROHIBITED_ERROR
U_IDNA_ERROR_START
U_IDNA_UNASSIGNED_ERROR
U_IDNA_CHECK_BIDI_ERROR
U_IDNA_STD3_ASCII_RULES_ERROR
U_IDNA_ACE_PREFIX_ERROR
U_IDNA_VERIFICATION_ERROR
U_IDNA_LABEL_TOO_LONG_ERROR
U_IDNA_ZERO_LENGTH_LABEL_ERROR
U_IDNA_DOMAIN_NAME_TOO_LONG_ERROR
U_IDNA_ERROR_LIMIT
U_STRINGPREP_PROHIBITED_ERROR
U_STRINGPREP_UNASSIGNED_ERROR
U_STRINGPREP_CHECK_BIDI_ERROR
U_ERROR_LIMIT
INTL_ICU_DATA_VERSION
JSON_ERROR_NON_BACKED_ENUM
LDAP_MODIFY_BATCH_ATTRIB
LDAP_MODIFY_BATCH_MODTYPE
LDAP_MODIFY_BATCH_VALUES
LDAP_OPT_TIMEOUT
LDAP_OPT_X_SASL_MECH
LDAP_OPT_X_SASL_REALM
LDAP_OPT_X_SASL_AUTHCID
LDAP_OPT_X_SASL_AUTHZID
LDAP_OPT_X_SASL_NOCANON
LDAP_OPT_X_SASL_USERNAME
LIBXML_LOADED_VERSION
MYSQLI_OPT_LOAD_DATA_LOCAL_DIR
MYSQLI_CLIENT_FOUND_ROWS
MYSQLI_CLIENT_SSL_VERIFY_SERVER_CERT
MYSQLI_CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS
MYSQLI_OPT_CAN_HANDLE_EXPIRED_PASSWORDS
MYSQLI_ASYNC
MYSQLI_STORE_RESULT_COPY_DATA
MYSQLI_NO_DEFAULT_VALUE_FLAG
MYSQLI_ON_UPDATE_NOW_FLAG
MYSQLI_SET_CHARSET_DIR
MYSQLI_SERVER_QUERY_WAS_SLOW
MYSQLI_SERVER_PS_OUT_PARAMS
MYSQLI_REFRESH_BACKUP_LOG
SQL_WCHAR
SQL_WVARCHAR
SQL_WLONGVARCHAR
OPENSSL_DEFAULT_STREAM_CIPHERS
OPENSSL_DONT_ZERO_PAD_KEY
WCONTINUED
SIGINFO
SIGRTMIN
SIGRTMAX
SI_MESGQ
RFTSIGZMB
RFTHREAD
FORK_NOSIGCHLD
FORK_WAITPID
PCNTL_EINTR
PCNTL_ECHILD
PCNTL_EINVAL
PCNTL_EAGAIN
PCNTL_ESRCH
PCNTL_EACCES
PCNTL_EPERM
PCNTL_ENOMEM
PCNTL_E2BIG
PCNTL_EFAULT
PCNTL_EIO
PCNTL_EISDIR
PCNTL_ELIBBAD
PCNTL_ELOOP
PCNTL_EMFILE
PCNTL_ENAMETOOLONG
PCNTL_ENFILE
PCNTL_ENOENT
PCNTL_ENOEXEC
PCNTL_ENOTDIR
PCNTL_ETXTBSY
PCNTL_ENOSPC
PCNTL_EUSERS
PCNTL_ECAPMODE
PREG_GREP_INVERT
PCRE_VERSION_MAJOR
PCRE_VERSION_MINOR
PCRE_JIT_SUPPORT
PDO_ODBC_TYPE
PGSQL_ERRORS_SQLSTATE
PGSQL_TRACE_SUPPRESS_TIMESTAMPS
PGSQL_TRACE_REGRESS_MODE
PGSQL_SHOW_CONTEXT_NEVER
PGSQL_SHOW_CONTEXT_ERRORS
PGSQL_SHOW_CONTEXT_ALWAYS
POSIX_SC_ARG_MAX
POSIX_SC_PAGESIZE
POSIX_SC_NPROCESSORS_CONF
POSIX_SC_NPROCESSORS_ONLN
POSIX_PC_LINK_MAX
POSIX_PC_MAX_CANON
POSIX_PC_MAX_INPUT
POSIX_PC_NAME_MAX
POSIX_PC_PATH_MAX
POSIX_PC_PIPE_BUF
POSIX_PC_CHOWN_RESTRICTED
POSIX_PC_NO_TRUNC
POSIX_PC_ALLOC_SIZE_MIN
POSIX_PC_SYMLINK_MAX
AF_DIVERT
MSG_CTRUNC
MSG_TRUNC
MSG_CONFIRM
MSG_ERRQUEUE
MSG_NOSIGNAL
MSG_DONTWAIT
MSG_MORE
MSG_WAITFORONE
MSG_CMSG_CLOEXEC
SO_REUSEPORT_LB
SO_FAMILY
SO_BINDTODEVICE
SO_RERROR
SO_SPLICE
SO_ZEROIZE
FIL_ATTACH
FIL_DETACH
IPPROTO_IPV6
SOL_UDPLITE
IPV6_UNICAST_HOPS
AI_PASSIVE
AI_CANONNAME
AI_NUMERICHOST
AI_V4MAPPED
AI_ALL
AI_ADDRCONFIG
AI_IDN
AI_CANONIDN
AI_NUMERICSERV
SOL_LOCAL
IPV6_RECVPKTINFO
IPV6_PKTINFO
IPV6_RECVHOPLIMIT
IPV6_HOPLIMIT
IPV6_RECVTCLASS
IPV6_TCLASS
SO_PASSCRED
SO_ATTACH_REUSEPORT_CBPF
SO_DETACH_FILTER
SO_DETACH_BPF
TCP_QUICKACK
TCP_REPAIR
IP_DONTFRAG
IP_MTU_DISCOVER
IP_PMTUDISC_DO
IP_PMTUDISC_DONT
IP_PMTUDISC_WANT
IP_PMTUDISC_PROBE
IP_PMTUDISC_INTERFACE
IP_PMTUDISC_OMIT
UDPLITE_SEND_CSCOV
UDPLITE_RECV_CSCOV
SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_KEYBYTES
SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_NSECBYTES
SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_NPUBBYTES
SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_ABYTES
SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_ABYTES
SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_HEADERBYTES
SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_KEYBYTES
SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_MESSAGEBYTES_MAX
INI_USER
INI_PERDIR
INI_SYSTEM
INI_ALL
DNS_SRV
DNS_NAPTR
DNS_A6
IMAGETYPE_UNKNOWN
IMAGETYPE_COUNT
LOG_LOCAL0
LOG_LOCAL1
LOG_LOCAL2
LOG_LOCAL3
LOG_LOCAL4
LOG_LOCAL5
LOG_LOCAL6
LOG_LOCAL7
PATHINFO_ALL
ABDAY_1
ABDAY_2
ABDAY_3
ABDAY_4
ABDAY_5
ABDAY_6
ABDAY_7
DAY_1
DAY_2
DAY_3
DAY_4
DAY_5
DAY_6
DAY_7
ABMON_1
ABMON_2
ABMON_3
ABMON_4
ABMON_5
ABMON_6
ABMON_7
ABMON_8
ABMON_9
ABMON_10
ABMON_11
ABMON_12
MON_1
MON_2
MON_3
MON_4
MON_5
MON_6
MON_7
MON_8
MON_9
MON_10
MON_11
MON_12
YPTO_METHOD_ANY_CLIENT
STREAM_CRYPTO_PROTO_SSLv3
STREAM_CRYPTO_PROTO_TLSv1_0
STREAM_CRYPTO_PROTO_TLSv1_1
STREAM_CRYPTO_PROTO_TLSv1_2
STREAM_CRYPTO_PROTO_TLSv1_3
TIDY_TAG_ADDRESS
ZLIB_VERSION
ZLIB_VERNUM
ZLIB_OK
ZLIB_STREAM_END
ZLIB_NEED_DICT
ZLIB_ERRNO
ZLIB_STREAM_ERROR
ZLIB_DATA_ERROR
ZLIB_MEM_ERROR
ZLIB_BUF_ERROR
ZLIB_VERSION_ERROR
PHP_OUTPUT_HANDLER_STARTED
(Update output control constants #3039)PHP_OUTPUT_HANDLER_DISABLED
(Update output control constants #3039)STREAM_IGNORE_URL
STREAM_MUST_SEEK
STREAM_URL_STAT_LINK
STREAM_URL_STAT_QUIET
The following global constants aren't documented on a predefined constants page, but described somewhere else (e.g. on class or function manual pages):
DEBUG_BACKTRACE_PROVIDE_OBJECT
DEBUG_BACKTRACE_IGNORE_ARGS
DATE_ATOM
DATE_COOKIE
DATE_ISO8601
DATE_ISO8601_EXPANDED
DATE_RFC822
DATE_RFC850
DATE_RFC1036
DATE_RFC1123
DATE_RFC7231
DATE_RFC2822
DATE_RFC3339
DATE_RFC3339_EXTENDED
DATE_RSS
DATE_W3C
IMG_CROP_DEFAULT
IMG_CROP_TRANSPARENT
IMG_CROP_BLACK
IMG_CROP_WHITE
IMG_CROP_SIDES
IMG_CROP_THRESHOLD
GRAPHEME_EXTR_COUNT
GRAPHEME_EXTR_MAXBYTES
GRAPHEME_EXTR_MAXCHARS
LDAP_MODIFY_BATCH_ADD
LDAP_MODIFY_BATCH_REMOVE
LDAP_MODIFY_BATCH_REMOVE_ALL
LDAP_MODIFY_BATCH_REPLACE
LDAP_OPT_X_TLS_NEVER
LDAP_OPT_X_TLS_HARD
LDAP_OPT_X_TLS_DEMAND
LDAP_OPT_X_TLS_ALLOW
LDAP_OPT_X_TLS_TRY
LDAP_OPT_X_TLS_CRL_NONE
LDAP_OPT_X_TLS_CRL_PEER
LDAP_OPT_X_TLS_CRL_ALL
LDAP_OPT_X_TLS_PROTOCOL_SSL2
LDAP_OPT_X_TLS_PROTOCOL_SSL3
LDAP_OPT_X_TLS_PROTOCOL_TLS1_0
LDAP_OPT_X_TLS_PROTOCOL_TLS1_1
LDAP_OPT_X_TLS_PROTOCOL_TLS1_2
LDAP_OPT_X_TLS_PACKAGE
LDAP_ESCAPE_FILTER
LDAP_ESCAPE_DN
MYSQLI_TRANS_START_WITH_CONSISTENT_SNAPSHOT
OCI_FO_END
OCI_FO_ABORT
OCI_FO_REAUTH
OCI_FO_BEGIN
OCI_FO_ERROR
OCI_FO_NONE
OCI_FO_SESSION
OCI_FO_SELECT
OCI_FO_TXNAL
OCI_FO_RETRY
SQL_FETCH_FIRST
SQL_FETCH_NEXT
RFPROC
RFNOWAIT
RFCFDG
RFFDG
RFLINUXTHPN
SO_LABEL
SO_PEERLABEL
SO_LISTENQLIMIT
SO_LISTENQLEN
SOMAXCONN
MCAST_JOIN_GROUP
MCAST_LEAVE_GROUP
MCAST_BLOCK_SOURCE
MCAST_UNBLOCK_SOURCE
MCAST_JOIN_SOURCE_GROUP
MCAST_LEAVE_SOURCE_GROUP
IP_MULTICAST_IF
IP_MULTICAST_TTL
IP_MULTICAST_LOOP
IP_BIND_ADDRESS_NO_PORT
IPV6_MULTICAST_IF
IPV6_MULTICAST_HOPS
IPV6_MULTICAST_LOOP
IPV6_V6ONLY
IPPROTO_IP
SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_MESSAGE
SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_PUSH
SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_REKEY
SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_FINAL
SODIUM_BASE64_VARIANT_ORIGINAL
SODIUM_BASE64_VARIANT_ORIGINAL_NO_PADDING
SODIUM_BASE64_VARIANT_URLSAFE
SODIUM_BASE64_VARIANT_URLSAFE_NO_PADDING
AM_STR
PM_STR
D_T_FMT
D_FMT
T_FMT
T_FMT_AMPM
ERA
ERA_YEAR
ERA_D_T_FMT
ERA_D_FMT
ERA_T_FMT
ALT_DIGITS
INT_CURR_SYMBOL
CURRENCY_SYMBOL
CRNCYSTR
MON_DECIMAL_POINT
MON_THOUSANDS_SEP
MON_GROUPING
POSITIVE_SIGN
NEGATIVE_SIGN
INT_FRAC_DIGITS
FRAC_DIGITS
P_CS_PRECEDES
P_SEP_BY_SPACE
N_CS_PRECEDES
N_SEP_BY_SPACE
P_SIGN_POSN
N_SIGN_POSN
DECIMAL_POINT
RADIXCHAR
THOUSANDS_SEP
THOUSEP
GROUPING
YESEXPR
NOEXPR
YESSTR
NOSTR
CODESET
STREAM_CR
STREAM_CRYPTO_METHOD_SSLv2_CLIENT
STREAM_CRYPTO_METHOD_SSLv3_CLIENT
STREAM_CRYPTO_METHOD_SSLv23_CLIENT
STREAM_CRYPTO_METHOD_TLS_CLIENT
STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT
STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT
STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT
STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT
STREAM_CRYPTO_METHOD_ANY_SERVER
STREAM_CRYPTO_METHOD_SSLv2_SERVER
STREAM_CRYPTO_METHOD_SSLv3_SERVER
STREAM_CRYPTO_METHOD_SSLv23_SERVER
STREAM_CRYPTO_METHOD_TLS_SERVER
STREAM_CRYPTO_METHOD_TLSv1_0_SERVER
STREAM_CRYPTO_METHOD_TLSv1_1_SERVER
STREAM_CRYPTO_METHOD_TLSv1_2_SERVER
STREAM_CRYPTO_METHOD_TLSv1_3_SERVER
STREAM_PEEK
STREAM_OOB
TOKEN_PARSE
UPLOAD_ERR_OK
UPLOAD_ERR_INI_SIZE
UPLOAD_ERR_FORM_SIZE
UPLOAD_ERR_PARTIAL
UPLOAD_ERR_NO_FILE
UPLOAD_ERR_NO_TMP_DIR
UPLOAD_ERR_CANT_WRITE
UPLOAD_ERR_EXTENSION
STREAM_MKDIR_RECURSIVE
STREAM_IS_URL
STREAM_OPTION_BLOCKING
STREAM_OPTION_READ_TIMEOUT
STREAM_OPTION_READ_BUFFER
STREAM_OPTION_WRITE_BUFFER
The text was updated successfully, but these errors were encountered: