PHP 8.2 and MariaDB 10.4 upgrades!

iFastNet’s wonderful job :slight_smile:

4 Likes

May I ask where can I find a full list of disabled functions in PHP 8.2 here? Thanks.

There are currently no known ways to check it (at least not me)

However, @JxstErg1 scrapped a html archive of the php info before iFastNet overwrote the function

It indicates that the following functions are disabled:

The functions (Click to expand)
exec,system,passthru,shell_exec,escapeshellarg,escapeshellcmd,proc_close,proc_open,ini_alter,dl,popen,popen,pcntl_exec,socket_accept,socket_bind,socket_clear_error,socket_close,socket_connect,socket_create_listen,socket_create_pair,socket_create,socket_get_option,socket_getpeername,socket_getsockname,socket_last_error,socket_listen,socket_read,socket_recv,socket_recvfrom,socket_select,socket_send,socket_sendto,socket_set_block,socket_set_nonblock,socket_set_option,socket_shutdown,socket_strerror,socket_write,stream_socket_server,pfsockopen,disk_total_space,disk_free_space,chown,diskfreespace,getrusage,get_current_user,set_time_limit,dl,leak,listen,chgrp,link,symlink,dlopen,proc_nice,proc_get_stats,proc_terminate,shell_exec,sh2_exec,posix_getpwuid,posix_getgrgid,posix_kill,ini_restore,mkfifo,dbmopen,dbase_open,filepro,filepro_rowcount,posix_mkfifo,_xyec,mainwork,get_num_redirects,putenv,geoip_open,sleep,imap_open,apache_child_terminate,apache_get_modules,apache_get_version,apache_getenv,apache_lookup_uri,apache_note,apache_request_headers,apache_response_headers,php_info,ini_get_all,apache_setenv,getallheaders,virtual,fsockopen,curl_multi_exec

phpinfo_php82_ifastnet_free-1.html (91.8 KB)

6 Likes

This might help someone who needs development information neatly compiled:

Official disabled_function list

php_uname,putenv,exec,phpinfo,system,passthru,escapeshellarg,escapeshellcmd,proc_close,proc_open,ini_alter,popen,pcntl_exec,socket_accept,socket_bind,socket_clear_error,socket_close,socket_connect,socket_create_listen,socket_create_pair,socket_create,socket_get_option,socket_getpeername,socket_getsockname,socket_last_error,socket_listen,socket_read,socket_recv,socket_recvfrom,socket_select,socket_send,socket_sendto,socket_set_block,socket_set_nonblock,socket_set_option,socket_shutdown,socket_strerror,socket_write,stream_socket_server,pfsockopen,disk_total_space,chown,diskfreespace,getrusage,get_current_user,set_time_limit,dl,listen,chgrp,link,symlink,proc_nice,proc_get_stats,proc_terminate,shell_exec,ssh2_exec,posix_getpwuid,posix_getgrgid,posix_kill,ini_restore,dbase_open,posix_mkfifo,sleep,imap_open,apache_child_terminate,apache_get_modules,apache_get_version,apache_getenv,apache_lookup_uri,apache_note,apache_request_headers,apache_response_headers,ini_get_all,apache_setenv,getallheaders,virtual,curl_multi_exec

Missing functions
  • readline
  • readline_info
  • readline_add_history
  • readline_clear_history
  • readline_list_history
  • readline_read_history
  • readline_write_history
  • readline_completion_function
  • get_current_user
  • ini_alter
  • ini_restore
  • exec
  • system
  • passthru
  • escapeshellcmd
  • escapeshellarg
  • shell_exec
  • proc_nice
  • popen
  • chown
  • chgrp
  • disk_total_space
  • pfsockopen
  • symlink
  • link
  • proc_open
  • proc_close
  • proc_terminate
  • stream_socket_server
  • sapi_windows_vt100_support
  • sapi_windows_cp_set
  • sapi_windows_cp_get
  • sapi_windows_cp_conv
  • sapi_windows_cp_is_utf8
  • sapi_windows_set_ctrl_handler
  • sapi_windows_generate_ctrl_event
  • curl_multi_exec
  • variant_set
  • variant_add
  • variant_cat
  • variant_sub
  • variant_mul
  • variant_and
  • variant_div
  • variant_eqv
  • variant_idiv
  • variant_imp
  • variant_mod
  • variant_or
  • variant_pow
  • variant_xor
  • variant_abs
  • variant_fix
  • variant_int
  • variant_neg
  • variant_not
  • variant_round
  • variant_cmp
  • variant_date_to_timestamp
  • variant_date_from_timestamp
  • variant_get_type
  • variant_set_type
  • variant_cast
  • com_get_active_object
  • com_create_guid
  • com_event_sink
  • com_print_typeinfo
  • com_message_pump
  • com_load_typelib
  • imagegrabwindow
  • imagegrabscreen
  • imap_open
  • imap_reopen
  • imap_close
  • imap_num_msg
  • imap_num_recent
  • imap_headers
  • imap_headerinfo
  • imap_rfc822_parse_headers
  • imap_rfc822_write_address
  • imap_rfc822_parse_adrlist
  • imap_body
  • imap_fetchtext
  • imap_bodystruct
  • imap_fetchbody
  • imap_fetchmime
  • imap_savebody
  • imap_fetchheader
  • imap_fetchstructure
  • imap_gc
  • imap_expunge
  • imap_delete
  • imap_undelete
  • imap_check
  • imap_listscan
  • imap_scan
  • imap_scanmailbox
  • imap_mail_copy
  • imap_mail_move
  • imap_mail_compose
  • imap_createmailbox
  • imap_create
  • imap_renamemailbox
  • imap_rename
  • imap_deletemailbox
  • imap_subscribe
  • imap_unsubscribe
  • imap_append
  • imap_ping
  • imap_base64
  • imap_qprint
  • imap_8bit
  • imap_binary
  • imap_utf8
  • imap_status
  • imap_mailboxmsginfo
  • imap_setflag_full
  • imap_clearflag_full
  • imap_sort
  • imap_uid
  • imap_msgno
  • imap_list
  • imap_listmailbox
  • imap_lsub
  • imap_listsubscribed
  • imap_getsubscribed
  • imap_getmailboxes
  • imap_fetch_overview
  • imap_alerts
  • imap_errors
  • imap_last_error
  • imap_search
  • imap_utf7_decode
  • imap_utf7_encode
  • imap_utf8_to_mutf7
  • imap_mutf7_to_utf8
  • imap_mime_header_decode
  • imap_thread
  • imap_timeout
  • imap_get_quota
  • imap_get_quotaroot
  • imap_set_quota
  • imap_setacl
  • imap_getacl
  • imap_mail
  • ldap_connect
  • ldap_unbind
  • ldap_close
  • ldap_bind
  • ldap_bind_ext
  • ldap_sasl_bind
  • ldap_read
  • ldap_list
  • ldap_search
  • ldap_free_result
  • ldap_count_entries
  • ldap_first_entry
  • ldap_next_entry
  • ldap_get_entries
  • ldap_first_attribute
  • ldap_next_attribute
  • ldap_get_attributes
  • ldap_get_values_len
  • ldap_get_values
  • ldap_get_dn
  • ldap_explode_dn
  • ldap_dn2ufn
  • ldap_add
  • ldap_add_ext
  • ldap_delete
  • ldap_delete_ext
  • ldap_modify_batch
  • ldap_mod_add
  • ldap_mod_add_ext
  • ldap_mod_replace
  • ldap_modify
  • ldap_mod_replace_ext
  • ldap_mod_del
  • ldap_mod_del_ext
  • ldap_errno
  • ldap_error
  • ldap_err2str
  • ldap_compare
  • ldap_rename
  • ldap_rename_ext
  • ldap_get_option
  • ldap_set_option
  • ldap_count_references
  • ldap_first_reference
  • ldap_next_reference
  • ldap_parse_reference
  • ldap_parse_result
  • ldap_start_tls
  • ldap_escape
  • ldap_exop
  • ldap_exop_passwd
  • ldap_exop_whoami
  • ldap_exop_refresh
  • ldap_parse_exop
  • socket_select
  • socket_create_listen
  • socket_accept
  • socket_set_nonblock
  • socket_set_block
  • socket_listen
  • socket_close
  • socket_write
  • socket_read
  • socket_getsockname
  • socket_getpeername
  • socket_create
  • socket_connect
  • socket_strerror
  • socket_bind
  • socket_recv
  • socket_send
  • socket_recvfrom
  • socket_sendto
  • socket_get_option
  • socket_getopt
  • socket_set_option
  • socket_setopt
  • socket_create_pair
  • socket_shutdown
  • socket_last_error
  • socket_clear_error
  • socket_import_stream
  • socket_export_stream
  • socket_sendmsg
  • socket_recvmsg
  • socket_cmsg_space
  • socket_addrinfo_lookup
  • socket_addrinfo_connect
  • socket_addrinfo_bind
  • socket_addrinfo_explain
  • socket_wsaprotocol_info_export
  • socket_wsaprotocol_info_import
  • socket_wsaprotocol_info_release
  • tidy_parse_string
  • tidy_get_error_buffer
  • tidy_get_output
  • tidy_parse_file
  • tidy_clean_repair
  • tidy_repair_string
  • tidy_repair_file
  • tidy_diagnose
  • tidy_get_release
  • tidy_get_opt_doc
  • tidy_get_config
  • tidy_get_status
  • tidy_get_html_ver
  • tidy_is_xhtml
  • tidy_is_xml
  • tidy_error_count
  • tidy_warning_count
  • tidy_access_count
  • tidy_config_count
  • tidy_getopt
  • tidy_get_root
  • tidy_get_html
  • tidy_get_head
  • tidy_get_body
  • dl
  • cli_set_process_title
  • cli_get_process_title
Missing constants
  • NULL
  • PHP_WINDOWS_EVENT_CTRL_C
  • PHP_WINDOWS_EVENT_CTRL_BREAK
  • PHP_WINDOWS_VERSION_MAJOR
  • PHP_WINDOWS_VERSION_MINOR
  • PHP_WINDOWS_VERSION_BUILD
  • PHP_WINDOWS_VERSION_PLATFORM
  • PHP_WINDOWS_VERSION_SP_MAJOR
  • PHP_WINDOWS_VERSION_SP_MINOR
  • PHP_WINDOWS_VERSION_SUITEMASK
  • PHP_WINDOWS_VERSION_PRODUCTTYPE
  • PHP_WINDOWS_NT_DOMAIN_CONTROLLER
  • PHP_WINDOWS_NT_SERVER
  • PHP_WINDOWS_NT_WORKSTATION
  • READLINE_LIB
  • CLSCTX_INPROC_SERVER
  • CLSCTX_INPROC_HANDLER
  • CLSCTX_LOCAL_SERVER
  • CLSCTX_REMOTE_SERVER
  • CLSCTX_SERVER
  • CLSCTX_ALL
  • VT_NULL
  • VT_EMPTY
  • VT_UI1
  • VT_I1
  • VT_UI2
  • VT_I2
  • VT_UI4
  • VT_I4
  • VT_R4
  • VT_R8
  • VT_BOOL
  • VT_ERROR
  • VT_CY
  • VT_DATE
  • VT_BSTR
  • VT_DECIMAL
  • VT_UNKNOWN
  • VT_DISPATCH
  • VT_VARIANT
  • VT_INT
  • VT_UINT
  • VT_ARRAY
  • VT_BYREF
  • CP_ACP
  • CP_MACCP
  • CP_OEMCP
  • CP_UTF7
  • CP_UTF8
  • CP_SYMBOL
  • CP_THREAD_ACP
  • VARCMP_LT
  • VARCMP_EQ
  • VARCMP_GT
  • VARCMP_NULL
  • LOCALE_SYSTEM_DEFAULT
  • NORM_IGNORECASE
  • NORM_IGNORENONSPACE
  • NORM_IGNORESYMBOLS
  • NORM_IGNOREWIDTH
  • NORM_IGNOREKANATYPE
  • DISP_E_DIVBYZERO
  • DISP_E_OVERFLOW
  • DISP_E_BADINDEX
  • MK_E_UNAVAILABLE
  • VT_UI8
  • VT_I8
  • GMP_MPIR_VERSION
  • NIL
  • IMAP_OPENTIMEOUT
  • IMAP_READTIMEOUT
  • IMAP_WRITETIMEOUT
  • IMAP_CLOSETIMEOUT
  • OP_DEBUG
  • OP_READONLY
  • OP_ANONYMOUS
  • OP_SHORTCACHE
  • OP_SILENT
  • OP_PROTOTYPE
  • OP_HALFOPEN
  • OP_EXPUNGE
  • OP_SECURE
  • CL_EXPUNGE
  • FT_UID
  • FT_PEEK
  • FT_NOT
  • FT_INTERNAL
  • FT_PREFETCHTEXT
  • ST_UID
  • ST_SILENT
  • ST_SET
  • CP_UID
  • CP_MOVE
  • SE_UID
  • SE_FREE
  • SE_NOPREFETCH
  • SO_FREE
  • SO_NOSERVER
  • SA_MESSAGES
  • SA_RECENT
  • SA_UNSEEN
  • SA_UIDNEXT
  • SA_UIDVALIDITY
  • SA_ALL
  • LATT_NOINFERIORS
  • LATT_NOSELECT
  • LATT_MARKED
  • LATT_UNMARKED
  • LATT_REFERRAL
  • LATT_HASCHILDREN
  • LATT_HASNOCHILDREN
  • SORTDATE
  • SORTARRIVAL
  • SORTFROM
  • SORTSUBJECT
  • SORTTO
  • SORTCC
  • SORTSIZE
  • TYPETEXT
  • TYPEMULTIPART
  • TYPEMESSAGE
  • TYPEAPPLICATION
  • TYPEAUDIO
  • TYPEIMAGE
  • TYPEVIDEO
  • TYPEMODEL
  • TYPEOTHER
  • ENC7BIT
  • ENC8BIT
  • ENCBINARY
  • ENCBASE64
  • ENCQUOTEDPRINTABLE
  • ENCOTHER
  • IMAP_GC_ELT
  • IMAP_GC_ENV
  • IMAP_GC_TEXTS
  • LDAP_DEREF_NEVER
  • LDAP_DEREF_SEARCHING
  • LDAP_DEREF_FINDING
  • LDAP_DEREF_ALWAYS
  • LDAP_MODIFY_BATCH_ADD
  • LDAP_MODIFY_BATCH_REMOVE
  • LDAP_MODIFY_BATCH_REMOVE_ALL
  • LDAP_MODIFY_BATCH_REPLACE
  • LDAP_MODIFY_BATCH_ATTRIB
  • LDAP_MODIFY_BATCH_MODTYPE
  • LDAP_MODIFY_BATCH_VALUES
  • LDAP_OPT_DEREF
  • LDAP_OPT_SIZELIMIT
  • LDAP_OPT_TIMELIMIT
  • LDAP_OPT_NETWORK_TIMEOUT
  • LDAP_OPT_TIMEOUT
  • LDAP_OPT_PROTOCOL_VERSION
  • LDAP_OPT_ERROR_NUMBER
  • LDAP_OPT_REFERRALS
  • LDAP_OPT_RESTART
  • LDAP_OPT_HOST_NAME
  • LDAP_OPT_ERROR_STRING
  • LDAP_OPT_MATCHED_DN
  • LDAP_OPT_SERVER_CONTROLS
  • LDAP_OPT_CLIENT_CONTROLS
  • LDAP_OPT_DEBUG_LEVEL
  • LDAP_OPT_DIAGNOSTIC_MESSAGE
  • 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
  • LDAP_OPT_X_TLS_REQUIRE_CERT
  • 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_CACERTDIR
  • LDAP_OPT_X_TLS_CACERTFILE
  • LDAP_OPT_X_TLS_CERTFILE
  • LDAP_OPT_X_TLS_CIPHER_SUITE
  • LDAP_OPT_X_TLS_KEYFILE
  • LDAP_OPT_X_TLS_RANDOM_FILE
  • LDAP_OPT_X_TLS_CRLCHECK
  • LDAP_OPT_X_TLS_CRL_NONE
  • LDAP_OPT_X_TLS_CRL_PEER
  • LDAP_OPT_X_TLS_CRL_ALL
  • LDAP_OPT_X_TLS_DHFILE
  • LDAP_OPT_X_TLS_CRLFILE
  • LDAP_OPT_X_TLS_PROTOCOL_MIN
  • 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_OPT_X_KEEPALIVE_IDLE
  • LDAP_OPT_X_KEEPALIVE_PROBES
  • LDAP_OPT_X_KEEPALIVE_INTERVAL
  • LDAP_ESCAPE_FILTER
  • LDAP_ESCAPE_DN
  • LDAP_EXOP_START_TLS
  • LDAP_EXOP_MODIFY_PASSWD
  • LDAP_EXOP_REFRESH
  • LDAP_EXOP_WHO_AM_I
  • LDAP_EXOP_TURN
  • LDAP_CONTROL_MANAGEDSAIT
  • LDAP_CONTROL_PROXY_AUTHZ
  • LDAP_CONTROL_SUBENTRIES
  • LDAP_CONTROL_VALUESRETURNFILTER
  • LDAP_CONTROL_ASSERT
  • LDAP_CONTROL_PRE_READ
  • LDAP_CONTROL_POST_READ
  • LDAP_CONTROL_SORTREQUEST
  • LDAP_CONTROL_SORTRESPONSE
  • LDAP_CONTROL_PAGEDRESULTS
  • LDAP_CONTROL_SYNC
  • LDAP_CONTROL_SYNC_STATE
  • LDAP_CONTROL_SYNC_DONE
  • LDAP_CONTROL_DONTUSECOPY
  • LDAP_CONTROL_PASSWORDPOLICYREQUEST
  • LDAP_CONTROL_PASSWORDPOLICYRESPONSE
  • LDAP_CONTROL_X_INCREMENTAL_VALUES
  • LDAP_CONTROL_X_DOMAIN_SCOPE
  • LDAP_CONTROL_X_PERMISSIVE_MODIFY
  • LDAP_CONTROL_X_SEARCH_OPTIONS
  • LDAP_CONTROL_X_TREE_DELETE
  • LDAP_CONTROL_X_EXTENDED_DN
  • LDAP_CONTROL_VLVREQUEST
  • LDAP_CONTROL_VLVRESPONSE
  • AF_UNIX
  • AF_INET
  • AF_INET6
  • SOCK_STREAM
  • SOCK_DGRAM
  • SOCK_RAW
  • SOCK_SEQPACKET
  • SOCK_RDM
  • MSG_OOB
  • MSG_WAITALL
  • MSG_CTRUNC
  • MSG_TRUNC
  • MSG_PEEK
  • MSG_DONTROUTE
  • MSG_ERRQUEUE
  • SO_DEBUG
  • SO_REUSEADDR
  • SO_KEEPALIVE
  • SO_DONTROUTE
  • SO_LINGER
  • SO_BROADCAST
  • SO_OOBINLINE
  • SO_SNDBUF
  • SO_RCVBUF
  • SO_SNDLOWAT
  • SO_RCVLOWAT
  • SO_SNDTIMEO
  • SO_RCVTIMEO
  • SO_TYPE
  • SO_ERROR
  • SOL_SOCKET
  • SOMAXCONN
  • TCP_NODELAY
  • PHP_NORMAL_READ
  • PHP_BINARY_READ
  • 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
  • IPV6_MULTICAST_IF
  • IPV6_MULTICAST_HOPS
  • IPV6_MULTICAST_LOOP
  • IPV6_V6ONLY
  • SOCKET_EINTR
  • SOCKET_EBADF
  • SOCKET_EACCES
  • SOCKET_EFAULT
  • SOCKET_EINVAL
  • SOCKET_EMFILE
  • SOCKET_EWOULDBLOCK
  • SOCKET_EINPROGRESS
  • SOCKET_EALREADY
  • SOCKET_ENOTSOCK
  • SOCKET_EDESTADDRREQ
  • SOCKET_EMSGSIZE
  • SOCKET_EPROTOTYPE
  • SOCKET_ENOPROTOOPT
  • SOCKET_EPROTONOSUPPORT
  • SOCKET_ESOCKTNOSUPPORT
  • SOCKET_EOPNOTSUPP
  • SOCKET_EPFNOSUPPORT
  • SOCKET_EAFNOSUPPORT
  • SOCKET_EADDRINUSE
  • SOCKET_EADDRNOTAVAIL
  • SOCKET_ENETDOWN
  • SOCKET_ENETUNREACH
  • SOCKET_ENETRESET
  • SOCKET_ECONNABORTED
  • SOCKET_ECONNRESET
  • SOCKET_ENOBUFS
  • SOCKET_EISCONN
  • SOCKET_ENOTCONN
  • SOCKET_ESHUTDOWN
  • SOCKET_ETOOMANYREFS
  • SOCKET_ETIMEDOUT
  • SOCKET_ECONNREFUSED
  • SOCKET_ELOOP
  • SOCKET_ENAMETOOLONG
  • SOCKET_EHOSTDOWN
  • SOCKET_EHOSTUNREACH
  • SOCKET_ENOTEMPTY
  • SOCKET_EPROCLIM
  • SOCKET_EUSERS
  • SOCKET_EDQUOT
  • SOCKET_ESTALE
  • SOCKET_EREMOTE
  • SOCKET_EDISCON
  • SOCKET_SYSNOTREADY
  • SOCKET_VERNOTSUPPORTED
  • SOCKET_NOTINITIALISED
  • SOCKET_HOST_NOT_FOUND
  • SOCKET_TRY_AGAIN
  • SOCKET_NO_RECOVERY
  • SOCKET_NO_DATA
  • SOCKET_NO_ADDRESS
  • IPPROTO_IP
  • IPPROTO_IPV6
  • SOL_TCP
  • SOL_UDP
  • IPV6_UNICAST_HOPS
  • AI_PASSIVE
  • AI_CANONNAME
  • AI_NUMERICHOST
  • AI_ADDRCONFIG
  • AI_NUMERICSERV
  • IPV6_RECVPKTINFO
  • IPV6_PKTINFO
  • IPV6_RECVHOPLIMIT
  • IPV6_HOPLIMIT
  • IPV6_RECVTCLASS
  • IPV6_TCLASS
  • TIDY_TAG_UNKNOWN
  • TIDY_TAG_A
  • TIDY_TAG_ABBR
  • TIDY_TAG_ACRONYM
  • TIDY_TAG_ADDRESS
  • TIDY_TAG_ALIGN
  • TIDY_TAG_APPLET
  • TIDY_TAG_AREA
  • TIDY_TAG_B
  • TIDY_TAG_BASE
  • TIDY_TAG_BASEFONT
  • TIDY_TAG_BDO
  • TIDY_TAG_BGSOUND
  • TIDY_TAG_BIG
  • TIDY_TAG_BLINK
  • TIDY_TAG_BLOCKQUOTE
  • TIDY_TAG_BODY
  • TIDY_TAG_BR
  • TIDY_TAG_BUTTON
  • TIDY_TAG_CAPTION
  • TIDY_TAG_CENTER
  • TIDY_TAG_CITE
  • TIDY_TAG_CODE
  • TIDY_TAG_COL
  • TIDY_TAG_COLGROUP
  • TIDY_TAG_COMMENT
  • TIDY_TAG_DD
  • TIDY_TAG_DEL
  • TIDY_TAG_DFN
  • TIDY_TAG_DIR
  • TIDY_TAG_DIV
  • TIDY_TAG_DL
  • TIDY_TAG_DT
  • TIDY_TAG_EM
  • TIDY_TAG_EMBED
  • TIDY_TAG_FIELDSET
  • TIDY_TAG_FONT
  • TIDY_TAG_FORM
  • TIDY_TAG_FRAME
  • TIDY_TAG_FRAMESET
  • TIDY_TAG_H1
  • TIDY_TAG_H2
  • TIDY_TAG_H3
  • TIDY_TAG_H4
  • TIDY_TAG_H5
  • TIDY_TAG_H6
  • TIDY_TAG_HEAD
  • TIDY_TAG_HR
  • TIDY_TAG_HTML
  • TIDY_TAG_I
  • TIDY_TAG_IFRAME
  • TIDY_TAG_ILAYER
  • TIDY_TAG_IMG
  • TIDY_TAG_INPUT
  • TIDY_TAG_INS
  • TIDY_TAG_ISINDEX
  • TIDY_TAG_KBD
  • TIDY_TAG_KEYGEN
  • TIDY_TAG_LABEL
  • TIDY_TAG_LAYER
  • TIDY_TAG_LEGEND
  • TIDY_TAG_LI
  • TIDY_TAG_LINK
  • TIDY_TAG_LISTING
  • TIDY_TAG_MAP
  • TIDY_TAG_MARQUEE
  • TIDY_TAG_MENU
  • TIDY_TAG_META
  • TIDY_TAG_MULTICOL
  • TIDY_TAG_NOBR
  • TIDY_TAG_NOEMBED
  • TIDY_TAG_NOFRAMES
  • TIDY_TAG_NOLAYER
  • TIDY_TAG_NOSAVE
  • TIDY_TAG_NOSCRIPT
  • TIDY_TAG_OBJECT
  • TIDY_TAG_OL
  • TIDY_TAG_OPTGROUP
  • TIDY_TAG_OPTION
  • TIDY_TAG_P
  • TIDY_TAG_PARAM
  • TIDY_TAG_PLAINTEXT
  • TIDY_TAG_PRE
  • TIDY_TAG_Q
  • TIDY_TAG_RB
  • TIDY_TAG_RBC
  • TIDY_TAG_RP
  • TIDY_TAG_RT
  • TIDY_TAG_RTC
  • TIDY_TAG_RUBY
  • TIDY_TAG_S
  • TIDY_TAG_SAMP
  • TIDY_TAG_SCRIPT
  • TIDY_TAG_SELECT
  • TIDY_TAG_SERVER
  • TIDY_TAG_SERVLET
  • TIDY_TAG_SMALL
  • TIDY_TAG_SPACER
  • TIDY_TAG_SPAN
  • TIDY_TAG_STRIKE
  • TIDY_TAG_STRONG
  • TIDY_TAG_STYLE
  • TIDY_TAG_SUB
  • TIDY_TAG_SUP
  • TIDY_TAG_TABLE
  • TIDY_TAG_TBODY
  • TIDY_TAG_TD
  • TIDY_TAG_TEXTAREA
  • TIDY_TAG_TFOOT
  • TIDY_TAG_TH
  • TIDY_TAG_THEAD
  • TIDY_TAG_TITLE
  • TIDY_TAG_TR
  • TIDY_TAG_TT
  • TIDY_TAG_U
  • TIDY_TAG_UL
  • TIDY_TAG_VAR
  • TIDY_TAG_WBR
  • TIDY_TAG_XMP
  • TIDY_TAG_ARTICLE
  • TIDY_TAG_ASIDE
  • TIDY_TAG_AUDIO
  • TIDY_TAG_BDI
  • TIDY_TAG_CANVAS
  • TIDY_TAG_COMMAND
  • TIDY_TAG_DATALIST
  • TIDY_TAG_DETAILS
  • TIDY_TAG_DIALOG
  • TIDY_TAG_FIGCAPTION
  • TIDY_TAG_FIGURE
  • TIDY_TAG_FOOTER
  • TIDY_TAG_HEADER
  • TIDY_TAG_HGROUP
  • TIDY_TAG_MAIN
  • TIDY_TAG_MARK
  • TIDY_TAG_MENUITEM
  • TIDY_TAG_METER
  • TIDY_TAG_NAV
  • TIDY_TAG_OUTPUT
  • TIDY_TAG_PROGRESS
  • TIDY_TAG_SECTION
  • TIDY_TAG_SOURCE
  • TIDY_TAG_SUMMARY
  • TIDY_TAG_TEMPLATE
  • TIDY_TAG_TIME
  • TIDY_TAG_TRACK
  • TIDY_TAG_VIDEO
  • TIDY_NODETYPE_ROOT
  • TIDY_NODETYPE_DOCTYPE
  • TIDY_NODETYPE_COMMENT
  • TIDY_NODETYPE_PROCINS
  • TIDY_NODETYPE_TEXT
  • TIDY_NODETYPE_START
  • TIDY_NODETYPE_END
  • TIDY_NODETYPE_STARTEND
  • TIDY_NODETYPE_CDATA
  • TIDY_NODETYPE_SECTION
  • TIDY_NODETYPE_ASP
  • TIDY_NODETYPE_JSTE
  • TIDY_NODETYPE_PHP
  • TIDY_NODETYPE_XMLDECL
  • PHP_CLI_PROCESS_TITLE
  • STDIN
  • STDOUT
  • STDERR

Code used to obtain the results:

php8_missing_functions.php
<?php

header('content-type: text/plain');

$functions = json_decode('paste json here', true); // json_encoded version of any PHP 8 setup get_defined_functions() result array.
foreach ($functions as $scopes => $list) {
	print_r($scopes . "\n");
	print_r(str_repeat('-', 20) . "\n");
	print_r(implode("\n", arraY_filter($list, function($e){
        return !!!function_exists($e);
    })));
	print_r("\n\n");
}
php8_missing_constants.php
<?php

header('content-type: text/plain');

$reference_constants = json_decode('paste json here', true); // json_encoded version of any PHP 8 setup get_defined_constants() result array.

$constants = get_defined_constants();
$result = [];
foreach($reference_constants as $name => $value){
	if (!isset($constants[$name])) {
		$result[$name] = null;
	}
	if (strval($value) !== $reference_constants[$name]) {
		$result[$name] = strval($value);
	}
}

print_r("Missing constants:\n" . str_repeat('-', 20) . "\n");
foreach ($result as $name => $value) {
	if (is_null($value)) {
		print_r($name . "\n");
	}
}
print_r("\n");

print_r("Different constants:\n" . str_repeat('-', 20) . "\n");
foreach ($result as $name => $value) {
	if (!is_null($value)) {
		print_r($name . "\n");
	}
}
print_r("\n");
ini_get_all_alternative.php
<?php

header('content-type: text/plain');

$options = explode(',', 'allow_url_fopen,allow_url_include,arg_separator.input,arg_separator.output,assert.active,assert.bail,assert.callback,assert.exception,assert.quiet_eval,assert.warning,auto_append_file,auto_detect_line_endings,auto_globals_jit,auto_prepend_file,bcmath.scale,browscap,cgi.check_shebang_line,cgi.discard_path,cgi.fix_pathinfo,cgi.force_redirect,cgi.nph,cgi.redirect_status_env,cgi.rfc2616_headers,child_terminate,cli.pager,cli.prompt,cli_server.color,com.allow_dcom,com.autoregister_typelib,com.autoregister_verbose,com.autoregister_casesensitive,com.code_page,com.dotnet_version,com.typelib_file,curl.cainfo,date.default_latitude,date.default_longitude,date.sunrise_zenith,date.sunset_zenith,date.timezone,dba.default_handler,default_charset,input_encoding,output_encoding,internal_encoding,default_mimetype,default_socket_timeout,disable_classes,disable_functions,display_errors,display_startup_errors,docref_ext,docref_root,doc_root,enable_dl,enable_post_data_reading,engine,error_append_string,error_log,error_log_mode,error_prepend_string,error_reporting,exif.encode_unicode,exif.decode_unicode_motorola,exif.decode_unicode_intel,exif.encode_jis,exif.decode_jis_motorola,exif.decode_jis_intel,exit_on_timeout,expect.timeout,expect.loguser,expect.logfile,expect.match_max,expose_php,extension,extension_dir,fastcgi.impersonate,fastcgi.logging,file_uploads,filter.default,filter.default_flags,from,gd.jpeg_ignore_warning,geoip.custom_directory,hard_timeout,highlight.comment,highlight.default,highlight.html,highlight.keyword,highlight.string,html_errors,ibase.allow_persistent,ibase.max_persistent,ibase.max_links,ibase.default_db,ibase.default_user,ibase.default_password,ibase.default_charset,ibase.timestampformat,ibase.dateformat,ibase.timeformat,ibm_db2.binmode,ibm_db2.i5_all_pconnect,ibm_db2.i5_allow_commit,ibm_db2.i5_dbcs_alloc,ibm_db2.instance_name,ibm_db2.i5_ignore_userid,iconv.input_encoding,iconv.output_encoding,iconv.internal_encoding,ignore_repeated_errors,ignore_repeated_source,ignore_user_abort,implicit_flush,include_path,intl.default_locale,intl.error_level,intl.use_exceptions,last_modified,ldap.max_links,log_errors,log_errors_max_len,mail.add_x_header,mail.force_extra_parameters,mail.log,max_execution_time,max_input_nesting_level,max_input_vars,max_input_time,mbstring.language,mbstring.detect_order,mbstring.http_input,mbstring.http_output,mbstring.internal_encoding,mbstring.substitute_character,mbstring.func_overload,mbstring.encoding_translation,mbstring.http_output_conv_mimetypes,mbstring.strict_detection,mbstring.regex_retry_limit,mbstring.regex_stack_limit,mcrypt.algorithms_dir,mcrypt.modes_dir,memcache.allow_failover,memcache.max_failover_attempts,memcache.chunk_size,memcache.default_port,memcache.hash_strategy,memcache.hash_function,memcache.protocol,memcache.redundancy,memcache.session_redundancy,memcache.compress_threshold,memcache.lock_timeout,memory_limit,mysql.allow_local_infile,mysql.allow_persistent,mysql.max_persistent,mysql.max_links,mysql.trace_mode,mysql.default_port,mysql.default_socket,mysql.default_host,mysql.default_user,mysql.default_password,mysql.connect_timeout,mysqli.allow_local_infile,mysqli.local_infile_directory,mysqli.allow_persistent,mysqli.max_persistent,mysqli.max_links,mysqli.default_port,mysqli.default_socket,mysqli.default_host,mysqli.default_user,mysqli.default_pw,mysqli.reconnect,mysqli.rollback_on_cached_plink,mysqlnd.collect_statistics,mysqlnd.collect_memory_statistics,mysqlnd.debug,mysqlnd.log_mask,mysqlnd.mempool_default_size,mysqlnd.net_read_timeout,mysqlnd.net_cmd_buffer_size,mysqlnd.net_read_buffer_size,mysqlnd.sha256_server_public_key,mysqlnd.trace_alloc,mysqlnd.fetch_data_copy,oci8.connection_class,oci8.default_prefetch,oci8.events,oci8.max_persistent,oci8.old_oci_close_semantics,oci8.persistent_timeout,oci8.ping_interval,oci8.prefetch_lob_size,oci8.privileged_connect,oci8.statement_cache_size,odbc.default_db *,odbc.default_user *,odbc.default_pw *,odbc.allow_persistent,odbc.check_persistent,odbc.max_persistent,odbc.max_links,odbc.defaultlrl,odbc.defaultbinmode,odbc.default_cursortype,opcache.enable,opcache.enable_cli,opcache.memory_consumption,opcache.interned_strings_buffer,opcache.max_accelerated_files,opcache.max_wasted_percentage,opcache.use_cwd,opcache.validate_timestamps,opcache.revalidate_freq,opcache.revalidate_path,opcache.save_comments,opcache.fast_shutdown,opcache.enable_file_override,opcache.optimization_level,opcache.inherited_hack,opcache.dups_fix,opcache.blacklist_filename,opcache.max_file_size,opcache.consistency_checks,opcache.force_restart_timeout,opcache.error_log,opcache.log_verbosity_level,opcache.record_warnings,opcache.preferred_memory_model,opcache.protect_memory,opcache.mmap_base,opcache.restrict_api,opcache.file_update_protection,opcache.huge_code_pages,opcache.lockfile_path,opcache.opt_debug_level,opcache.file_cache,opcache.file_cache_only,opcache.file_cache_consistency_checks,opcache.file_cache_fallback,opcache.validate_permission,opcache.validate_root,opcache.preload,opcache.preload_user,opcache.cache_id,opcache.jit,opcache.jit_buffer_size,opcache.jit_debug,opcache.jit_bisect_limit,opcache.jit_prof_threshold,opcache.jit_max_root_traces,opcache.jit_max_side_traces,opcache.jit_max_exit_counters,opcache.jit_hot_loop,opcache.jit_hot_func,opcache.jit_hot_return,opcache.jit_hot_side_exit,opcache.jit_blacklist_root_trace,opcache.jit_blacklist_side_trace,opcache.jit_max_loop_unrolls,opcache.jit_max_recursive_calls,opcache.jit_max_recursive_returns,opcache.jit_max_polymorphic_calls,open_basedir,output_buffering,output_handler,pcre.backtrack_limit,pcre.recursion_limit,pcre.jit,pdo.dsn.*,pdo_odbc.connection_pooling,pdo_odbc.db2_instance_name,pgsql.allow_persistent,pgsql.max_persistent,pgsql.max_links,pgsql.auto_reset_persistent,pgsql.ignore_notice,pgsql.log_notice,phar.readonly,phar.require_hash,phar.cache_list,post_max_size,precision,realpath_cache_size,realpath_cache_ttl,register_argc_argv,report_memleaks,report_zend_debug,request_order,runkit.superglobal,runkit.internal_override,sendmail_from,sendmail_path,serialize_precision,session.save_path,session.name,session.save_handler,session.auto_start,session.gc_probability,session.gc_divisor,session.gc_maxlifetime,session.serialize_handler,session.cookie_lifetime,session.cookie_path,session.cookie_domain,session.cookie_secure,session.cookie_httponly,session.cookie_samesite,session.use_strict_mode,session.use_cookies,session.use_only_cookies,session.referer_check,session.cache_limiter,session.cache_expire,session.use_trans_sid,session.trans_sid_tags,session.trans_sid_hosts,session.sid_length,session.sid_bits_per_character,session.upload_progress.enabled,session.upload_progress.cleanup,session.upload_progress.prefix,session.upload_progress.name,session.upload_progress.freq,session.upload_progress.min_freq,session.lazy_write,session.hash_function,session.hash_bits_per_character,session.entropy_file,session.entropy_length,short_open_tag,SMTP,smtp_port,soap.wsdl_cache_enabled,soap.wsdl_cache_dir,soap.wsdl_cache_ttl,soap.wsdl_cache,soap.wsdl_cache_limit,sql.safe_mode,sqlite3.extension_dir,sqlite3.defensive,syslog.facility,syslog.filter,syslog.ident,sys_temp_dir,sysvshm.init_mem,tidy.default_config,tidy.clean_output,track_errors,unserialize_callback_func,unserialize_max_depth,uploadprogress.file.filename_template,upload_max_filesize,max_file_uploads,upload_tmp_dir,url_rewriter.tags,user_agent,user_dir,user_ini.cache_ttl,user_ini.filename,uopz.disable,uopz.exit,uopz.overloads,variables_order,windows.show_crt_warning,xbithack,xmlrpc_errors,xmlrpc_error_number,yaz.keepalive,yaz.log_mask,zend.assertions,zend.detect_unicode,zend.enable_gc,zend.multibyte,zend.script_encoding,zend.signal_check,zend_extension,zlib.output_compression,zlib.output_compression_level,zlib.output_handler');

$inis = [];
foreach($options as $option){
	if(substr($option, strlen($option) - 2, 2) === '.*'){
		$option_prefix = substr($option, 0, strlen($option) - 2);
		$index = 0;
		$inis[$option_prefix] = [];
		while(!empty(ini_get($option_prefix.'.'.$index))){
			$inis[$option_prefix][] = ini_get($option_prefix.'.'.$index);
		}
	}else{
		$inis[$option] = ini_get($option);
	}
}

print_r($inis);

Functions with adjusted behaviour:

ini_get_all()

This function now returns NULL regardless of the string parameter.
Original documentation specified this function to either return an array or false.
You can get around this by call ini_get() on all default directives and get the existing values, however this does not return the global values.
See above ini_get_all_alternative.php for alternative.

phpinfo()

This function returns 6 lines of kinda-useful information.

Workarounds

tidy functions

Use this library and integrate as a composer library.
GitHub - Stolz/laravel-html-tidy: HTML Tidy middleware for Laravel
composer require stolz/laravel-html-tidy

It’s not very likely for IMAP and LDAP workarounds to exist as most solution depends on socket functions that are disabled here. Using a third-party API for connecting IMAP and LDAP is a waste of resources when you can have external mail or LDAP stores directly.

Windows-specific constants and functions also do not require a workaround as the server is Linux-based. Missing constants can be simply declared without too much effort.

At this point, I guess someone on this forum can rebuild a phpinfo() replica without the detailed system information.

Cheers!

7 Likes

I wonder where did you find those :thinking:
Most of them doesn’t exist in the phpinfo archive

2 Likes

I think they added most of those recently, as the remnant I’ve saved of the old PHP 8.2 phpinfo() doesn’t have them…

1 Like

Hi SpookyKipper,

I wrote a PHP script to compare against the full list of PHP 8 available functions and see which ones are not available.

Originally I was looking for an existing list to save some time, but then I noticed that that the list might not reflect the actual setup so I wrote the script.

I can share it, but the forum posting mechanism isn’t letting me post the full version. It simply returns error 500.

Update: Lists and source code consolidated into post:
PHP 8.2 and MariaDB 10.4 upgrades! - #74 by chiucs123

Cheers!

5 Likes

Hi JxstErg1,

This might be different if you attempt the code yourself on your hosting account, as my original setup has more extensions than came with original PHP. Some functions are available in stock PHP but isn’t installed on InfinityFree servers, this includes tidy, ldap and imap functions, which consist most of the list, but are actually useful if you ask me.

If the extension isn’t there in the first place, there’s no need to put those in the disabled_functions directive. This information is important to web developers like me as I need to know what I can or cannot use, and having no access to phpinfo() I cannot determine whether the extension was there in the first place.

Checking on next is constants. ← Done, check above

Cheers!

3 Likes

Meanwhile I can write my own phpinfo
Well, the little bit different contents of 5 lines
Version, server api, docroot path, memory limit, and server IP (although it’s not accurate) :slight_smile:

2 Likes

IMAP functions were already disabled on PHP 7.4. I’ve been told the overwhelming number of accounts that used it only did to to try and brute force email accounts, with very few legitimate websites using it.

Better safe than sorry? It’s unnecessary, sure, but it doesn’t hurt to block it both ways.

Also, some extensions provide functions that can be useful without their intended use case. The client area also has the IMAP extension installed, but only because parsing email addresses works really well with imap_rfc822_parse_adrlist, which requires the IMAP extension even if you don’t use IMAP.

The ini_get, function_exists and extension_loaded functions can still be used to check if certain functionality/modules exist. No need to have full phpinfo to obtain that information.

4 Likes

Hi admin,

With email disabled on free hosting, it’s very likely that we all use 3rd party services for mail-related operations, having an imap without a local mailbox does not generate much considerable legitimate use case anyways.

Was just explaining to JxstErg1 regarding those functions not being in the disabled_functions directive. It wasn’t blocked twice from the configurations.

Personally I prefer to use composer libraries whenever possible to avoid any potential dependency issues, especially involving server environment configurations.

Having a list of known functions would increase efficiency as we should not be checking function existence before using any functions in code. It would be unrealistically cumbersome when we realistically do that in code. Whenever a certain PHP version is selected, we expect a certain subset of functions to exist. However in a free hosting scenario, we respect the limitations imposed and attmept to avoid using disabled_functions whenever possible.

5 Likes

Almost all PHP functions are available, but a select number of them are not. And of the functions that are disabled, various commonly used functions have been “stubbed” to prevent scripts from crashing when trying to use them, making them no-op or return dummy data. The phpinfo override is one very clear example of this, but also set_time_limit can be used without crashing, it just won’t actually change the time limit.

If you want a list of all available PHP functions, check the reference docs on php.net. It’s ~99% accurate compared to what we have here.

5 Likes

Did You Finish Upgrade Php?

Most servers are already upgraded, youvcan check it by doing a phpinfo

5 Likes

I’ve just been told that there is only one server left to upgrade! We expect that this will be finished within the new few days.

11 Likes

Upgrade complete or not??? my site is not working

Explain “not working” and create a new topic for it.

9 Likes

Hello! My site not working last month or two
https://oldroid.epizy.com/articles/all/

Fatal error: Uncaught Error: Call to undefined function getallheaders() in /home/vol5_4/epizy.com/epiz_30167045/htdocs/db_framework/functions.php:1340

It begen when you start upgrade to PHP 8. And it continue now.

That’s correct, the getallheaders() function was disabled starting with PHP 8. If you want to read a HTTP header, you can get it from the $_SERVER variable.

https://www.php.net/manual/en/reserved.variables.server.php

Note that getallheaders() should be avoided in general, as it only works when running PHP through Apache. That function doesn’t work when running with PHP-FPM for example, so for better portability it’s better to not use that function.

8 Likes