PHP 7.4.24 Released!

Predefined Constants

The constants below are defined by this extension, and will only be available when the extension has either been compiled into PHP or dynamically loaded at runtime.

Descriptions and uses for these constants are described within the curl_setopt(), curl_multi_setopt() and curl_getinfo() documentation.

CURLOPT_AUTOREFERER (int)
CURLOPT_COOKIESESSION (int)
CURLOPT_DNS_USE_GLOBAL_CACHE (int)
CURLOPT_DNS_CACHE_TIMEOUT (int)
CURLOPT_FTP_SSL (int)
CURLFTP_CREATE_DIR (int)
Available since PHP 7.0.7 and cURL 7.19.3
CURLFTP_CREATE_DIR_NONE (int)
Available since PHP 7.0.7 and cURL 7.19.3
CURLFTP_CREATE_DIR_RETRY (int)
Available since PHP 7.0.7 and cURL 7.19.3
CURLFTPSSL_TRY (int)
CURLFTPSSL_ALL (int)
CURLFTPSSL_CONTROL (int)
CURLFTPSSL_NONE (int)
CURLOPT_PRIVATE (int)
CURLOPT_FTPSSLAUTH (int)
CURLOPT_PORT (int)
CURLOPT_FILE (int)
CURLOPT_INFILE (int)
CURLOPT_INFILESIZE (int)
CURLOPT_URL (int)
CURLOPT_PROXY (int)
CURLOPT_VERBOSE (int)
CURLOPT_HEADER (int)
CURLOPT_HTTPHEADER (int)
CURLOPT_NOPROGRESS (int)
CURLOPT_NOBODY (int)
CURLOPT_FAILONERROR (int)
CURLOPT_UPLOAD (int)
CURLOPT_POST (int)
CURLOPT_FTPLISTONLY (int)
CURLOPT_FTPAPPEND (int)
CURLOPT_FTP_CREATE_MISSING_DIRS (int)
CURLOPT_NETRC (int)
CURLOPT_FOLLOWLOCATION (int)
This constant is not available when open_basedir is enabled.
CURLOPT_FTPASCII (int)
CURLOPT_PUT (int)
CURLOPT_MUTE (int)
CURLOPT_USERPWD (int)
CURLOPT_PROXYUSERPWD (int)
CURLOPT_RANGE (int)
CURLOPT_TIMEOUT (int)
CURLOPT_TIMEOUT_MS (int)
CURLOPT_TCP_NODELAY (int)
CURLOPT_POSTFIELDS (int)
CURLOPT_PROGRESSFUNCTION (int)
CURLOPT_REFERER (int)
CURLOPT_USERAGENT (int)
CURLOPT_FTPPORT (int)
CURLOPT_FTP_USE_EPSV (int)
CURLOPT_LOW_SPEED_LIMIT (int)
CURLOPT_LOW_SPEED_TIME (int)
CURLOPT_RESUME_FROM (int)
CURLOPT_COOKIELIST (int)
Available since cURL 7.14.1
CURLOPT_SSLCERT (int)
CURLOPT_SSLCERTPASSWD (int)
CURLOPT_WRITEHEADER (int)
CURLOPT_SSL_VERIFYHOST (int)
CURLOPT_COOKIEFILE (int)
CURLOPT_SSLVERSION (int)
CURL_SSLVERSION_DEFAULT (int)
CURL_SSLVERSION_TLSv1 (int)
CURL_SSLVERSION_SSLv2 (int)
CURL_SSLVERSION_SSLv3 (int)
CURL_SSLVERSION_TLSv1_0 (int)
CURL_SSLVERSION_TLSv1_1 (int)
CURL_SSLVERSION_TLSv1_2 (int)
CURLOPT_TIMECONDITION (int)
CURLOPT_TIMEVALUE (int)
CURLOPT_CUSTOMREQUEST (int)
CURLOPT_STDERR (int)
CURLOPT_TRANSFERTEXT (int)
CURLOPT_RETURNTRANSFER (int)
CURLOPT_QUOTE (int)
CURLOPT_POSTQUOTE (int)
CURLOPT_INTERFACE (int)
CURLOPT_KRB4LEVEL (int)
CURLOPT_HTTPPROXYTUNNEL (int)
CURLOPT_FILETIME (int)
CURLOPT_WRITEFUNCTION (int)
CURLOPT_READFUNCTION (int)
CURLOPT_PASSWDFUNCTION (int)
CURLOPT_HEADERFUNCTION (int)
CURLOPT_MAXREDIRS (int)
CURLOPT_MAXCONNECTS (int)
CURLOPT_FRESH_CONNECT (int)
CURLOPT_FORBID_REUSE (int)
CURLOPT_RANDOM_FILE (int)
CURLOPT_EGDSOCKET (int)
CURLOPT_CONNECTTIMEOUT (int)
CURLOPT_CONNECTTIMEOUT_MS (int)
CURLOPT_SSL_VERIFYPEER (int)
CURLOPT_CAINFO (int)
CURLOPT_CAPATH (int)
CURLOPT_COOKIEJAR (int)
CURLOPT_SSL_CIPHER_LIST (int)
CURLOPT_BINARYTRANSFER (int)
CURLOPT_NOSIGNAL (int)
CURLOPT_PROXYTYPE (int)
Available as of cURL 7.10.
CURLOPT_BUFFERSIZE (int)
CURLOPT_HTTPGET (int)
CURLOPT_HTTP_VERSION (int)
CURLOPT_SSLKEY (int)
CURLOPT_SSLKEYTYPE (int)
CURLOPT_SSLKEYPASSWD (int)
CURLOPT_SSLENGINE (int)
CURLOPT_SSLENGINE_DEFAULT (int)
CURLOPT_SSLCERTTYPE (int)
CURLOPT_CRLF (int)
CURLOPT_ENCODING (int)
CURLOPT_PROXYPORT (int)
CURLOPT_UNRESTRICTED_AUTH (int)
CURLOPT_FTP_USE_EPRT (int)
CURLOPT_HTTP200ALIASES (int)
CURLOPT_HTTPAUTH (int)
CURLAUTH_BASIC (int)
CURLAUTH_DIGEST (int)
CURLAUTH_GSSNEGOTIATE (int)
CURLAUTH_NEGOTIATE (int)
Available since PHP 7.0.7 and cURL 7.38.0.
CURLAUTH_NTLM (int)
CURLAUTH_NTLM_WB (int)
Available since PHP 7.0.7 and cURL 7.22.0
CURLAUTH_ANY (int)
CURLAUTH_ANYSAFE (int)
CURLOPT_PROXYAUTH (int)
CURLOPT_MAX_RECV_SPEED_LARGE (int)
Available since cURL 7.15.5
CURLOPT_MAX_SEND_SPEED_LARGE (int)
Available since cURL 7.15.5
CURLOPT_HEADEROPT (int)
Available since PHP 7.0.7 and cURL 7.37.0
CURLOPT_PROXYHEADER (int)
Available since PHP 7.0.7 and cURL 7.37.0
CURLINFO_PRIVATE (int)
CURLINFO_EFFECTIVE_URL (int)
CURLINFO_HTTP_CODE (int)
As of cURL 7.10.8, this is a legacy alias of CURLINFO_RESPONSE_CODE
CURLINFO_RESPONSE_CODE (int)
Available since cURL 7.10.8
CURLINFO_HEADER_OUT (int)
CURLINFO_HEADER_SIZE (int)
CURLINFO_REQUEST_SIZE (int)
CURLINFO_TOTAL_TIME (int)
CURLINFO_NAMELOOKUP_TIME (int)
CURLINFO_CONNECT_TIME (int)
CURLINFO_PRETRANSFER_TIME (int)
CURLINFO_SIZE_UPLOAD (int)
CURLINFO_SIZE_DOWNLOAD (int)
CURLINFO_SPEED_DOWNLOAD (int)
CURLINFO_SPEED_UPLOAD (int)
CURLINFO_FILETIME (int)
CURLINFO_SSL_VERIFYRESULT (int)
CURLINFO_CONTENT_LENGTH_DOWNLOAD (int)
CURLINFO_CONTENT_LENGTH_UPLOAD (int)
CURLINFO_STARTTRANSFER_TIME (int)
CURLINFO_CONTENT_TYPE (int)
CURLINFO_REDIRECT_TIME (int)
CURLINFO_REDIRECT_COUNT (int)
CURLINFO_REDIRECT_URL (string)
CURLINFO_PRIMARY_IP (string)
CURLINFO_PRIMARY_PORT (int)
CURLINFO_LOCAL_IP (string)
CURLINFO_LOCAL_PORT (int)
CURL_PUSH_OK (int)
Available since PHP 7.1.0 and cURL 7.44.0
CURL_PUSH_DENY (int)
Available since PHP 7.1.0 and cURL 7.44.0
CURL_REDIR_POST_301 (int)
Available since PHP 7.0.7 and cURL 7.18.2
CURL_REDIR_POST_302 (int)
Available since PHP 7.0.7 and cURL 7.18.2
CURL_REDIR_POST_303 (int)
Available since PHP 7.0.7 and cURL 7.25.1
CURL_REDIR_POST_ALL (int)
Available since PHP 7.0.7 and cURL 7.18.2
CURL_TIMECOND_NONE (int)
CURL_TIMECOND_IFMODSINCE (int)
CURL_TIMECOND_IFUNMODSINCE (int)
CURL_TIMECOND_LASTMOD (int)
CURL_VERSION_ALTSVC (int)
Available since PHP 7.3.6 and cURL 7.64.1
CURL_VERSION_ASYNCHDNS (int)
Asynchronous DNS resolves. Available since PHP 7.3.0 and cURL 7.10.7
CURL_VERSION_BROTLI (int)
Available since PHP 7.3.0 and cURL 7.57.0
CURL_VERSION_CONV (int)
Character conversions supported. Available since PHP 7.3.0 and cURL 7.15.4
CURL_VERSION_CURLDEBUG (int)
Debug memory tracking supported. Available since PHP 7.3.6 and cURL 7.19.6
CURL_VERSION_DEBUG (int)
Built with debug capabilities. Available since PHP 7.3.0 and cURL 7.10.6
CURL_VERSION_GSSAPI (int)
Built against a GSS-API library. Available since PHP 7.3.0 and cURL 7.38.0
CURL_VERSION_GSSNEGOTIATE (int)
Negotiate auth is supported. Available since PHP 7.3.0 and cURL 7.10.6 (deprecated since 7.38.0)
CURL_VERSION_IDN (int)
Internationized Domain Names are supported. Available since PHP 7.3.0 and cURL 7.12.0
CURL_VERSION_MULTI_SSL (int)
Available since PHP 7.3.0 and cURL 7.56.0
CURL_VERSION_NTLM (int)
NTLM auth is supported. Available since PHP 7.3.0 and cURL 7.10.6
CURL_VERSION_NTLM_WB (int)
NTLM delegation to winbind helper is supported. Available since PHP 7.3.0 and cURL 7.22.0
CURL_VERSION_IPV6 (int)
IPv6-enabled.
CURL_VERSION_KERBEROS4 (int)
Kerberos V4 auth is supported.
CURL_VERSION_KERBEROS5 (int)
Kerberos V5 auth is supported. Available since PHP 7.0.7 and cURL 7.40.0
CURL_VERSION_HTTP2 (int)
HTTP2 support built-in. Available since cURL 7.33.0
CURL_VERSION_LARGEFILE (int)
Supports files larger than 2GB. Available since cURL 7.33.0
CURL_VERSION_PSL (int)
Mozilla's Public Suffix List, used for cookie domain verification. Available since PHP 7.3.6 and cURL 7.47.0
CURL_VERSION_SPNEGO (int)
SPNEGO auth is supported. Available since PHP 7.3.0 and cURL 7.10.8
CURL_VERSION_SSPI (int)
Built against Windows SSPI. Available since PHP 7.3.0 and cURL 7.13.2
CURL_VERSION_SSL (int)
SSL options are present.
CURL_VERSION_TLSAUTH_SRP (int)
TLS-SRP auth is supported. Available since PHP 7.3.0 and cURL 7.21.4
CURL_VERSION_UNIX_SOCKETS (int)
Unix domain sockets support. Available since PHP 7.0.7 and cURL 7.40.0
CURL_VERSION_LIBZ (int)
libz features are present.
CURLVERSION_NOW (int)
CURLE_OK (int)
CURLE_UNSUPPORTED_PROTOCOL (int)
CURLE_FAILED_INIT (int)
CURLE_URL_MALFORMAT (int)
CURLE_URL_MALFORMAT_USER (int)
CURLE_COULDNT_RESOLVE_PROXY (int)
CURLE_COULDNT_RESOLVE_HOST (int)
CURLE_COULDNT_CONNECT (int)
CURLE_FTP_WEIRD_SERVER_REPLY (int)
CURLE_FTP_ACCESS_DENIED (int)
CURLE_FTP_USER_PASSWORD_INCORRECT (int)
CURLE_FTP_WEIRD_PASS_REPLY (int)
CURLE_FTP_WEIRD_USER_REPLY (int)
CURLE_FTP_WEIRD_PASV_REPLY (int)
CURLE_FTP_WEIRD_227_FORMAT (int)
CURLE_FTP_CANT_GET_HOST (int)
CURLE_FTP_CANT_RECONNECT (int)
CURLE_FTP_COULDNT_SET_BINARY (int)
CURLE_PARTIAL_FILE (int)
CURLE_FTP_COULDNT_RETR_FILE (int)
CURLE_FTP_WRITE_ERROR (int)
CURLE_FTP_QUOTE_ERROR (int)
CURLE_HTTP_NOT_FOUND (int)
CURLE_WRITE_ERROR (int)
CURLE_MALFORMAT_USER (int)
CURLE_FTP_COULDNT_STOR_FILE (int)
CURLE_READ_ERROR (int)
CURLE_OUT_OF_MEMORY (int)
CURLE_OPERATION_TIMEOUTED (int)
CURLE_FTP_COULDNT_SET_ASCII (int)
CURLE_FTP_PORT_FAILED (int)
CURLE_FTP_COULDNT_USE_REST (int)
CURLE_FTP_COULDNT_GET_SIZE (int)
CURLE_HTTP_RANGE_ERROR (int)
CURLE_HTTP_POST_ERROR (int)
CURLE_SSL_CONNECT_ERROR (int)
CURLE_FTP_BAD_DOWNLOAD_RESUME (int)
CURLE_FILE_COULDNT_READ_FILE (int)
CURLE_LDAP_CANNOT_BIND (int)
CURLE_LDAP_SEARCH_FAILED (int)
CURLE_LIBRARY_NOT_FOUND (int)
CURLE_FUNCTION_NOT_FOUND (int)
CURLE_ABORTED_BY_CALLBACK (int)
CURLE_BAD_FUNCTION_ARGUMENT (int)
CURLE_BAD_CALLING_ORDER (int)
CURLE_HTTP_PORT_FAILED (int)
CURLE_BAD_PASSWORD_ENTERED (int)
CURLE_TOO_MANY_REDIRECTS (int)
CURLE_UNKNOWN_TELNET_OPTION (int)
CURLE_TELNET_OPTION_SYNTAX (int)
CURLE_OBSOLETE (int)
CURLE_SSL_PEER_CERTIFICATE (int)
CURLE_GOT_NOTHING (int)
CURLE_SSL_ENGINE_NOTFOUND (int)
CURLE_SSL_ENGINE_SETFAILED (int)
CURLE_SEND_ERROR (int)
CURLE_RECV_ERROR (int)
CURLE_SHARE_IN_USE (int)
CURLE_SSL_CERTPROBLEM (int)
CURLE_SSL_CIPHER (int)
CURLE_SSL_CACERT (int)
CURLE_BAD_CONTENT_ENCODING (int)
CURLE_LDAP_INVALID_URL (int)
CURLE_FILESIZE_EXCEEDED (int)
CURLE_FTP_SSL_FAILED (int)
CURLE_SSH (int)
Available since cURL 7.16.1.
CURLFTPAUTH_DEFAULT (int)
CURLFTPAUTH_SSL (int)
CURLFTPAUTH_TLS (int)
CURLPROXY_HTTP (int)
Available since cURL 7.10.
CURLPROXY_HTTP_1_0 (int)
Available since PHP 7.0.7 and cURL 7.19.3
CURLPROXY_SOCKS4 (int)
Available since cURL 7.10.
CURLPROXY_SOCKS5 (int)
Available since cURL 7.10.
CURL_NETRC_OPTIONAL (int)
CURL_NETRC_IGNORED (int)
CURL_NETRC_REQUIRED (int)
CURL_HTTP_VERSION_NONE (int)
CURL_HTTP_VERSION_1_0 (int)
CURL_HTTP_VERSION_1_1 (int)
CURL_HTTP_VERSION_2 (int)
Available since PHP 7.0.7 and cURL 7.43.0
CURL_HTTP_VERSION_2_0 (int)
Available since cURL 7.33.0
CURL_HTTP_VERSION_2TLS (int)
Available since PHP 7.0.7 and cURL 7.47.0
CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE (int)
Available since PHP 7.0.7 and cURL 7.49.0
CURLM_CALL_MULTI_PERFORM (int)
CURLM_OK (int)
CURLM_BAD_HANDLE (int)
CURLM_BAD_EASY_HANDLE (int)
CURLM_OUT_OF_MEMORY (int)
CURLM_INTERNAL_ERROR (int)
CURLMSG_DONE (int)
CURLOPT_KEYPASSWD (int)
CURLOPT_SSH_AUTH_TYPES (int)
CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 (int)
CURLOPT_SSH_PRIVATE_KEYFILE (int)
CURLOPT_SSH_PUBLIC_KEYFILE (int)
CURLOPT_SSL_OPTIONS (int)
Available since cURL 7.25.0
CURLSSLOPT_ALLOW_BEAST (int)
Available since cURL 7.25.0
CURLSSLOPT_NO_REVOKE (int)
Available since PHP 7.0.7 and cURL 7.44.0
CURLOPT_USERNAME (int)
Available since cURL 7.19.1
CURLOPT_SASL_IR (int)
Available since PHP 7.0.7 and cURL 7.31.0
CURLOPT_DNS_INTERFACE (int)
Available since PHP 7.0.7 and cURL 7.33.0
CURLOPT_DNS_LOCAL_IP4 (int)
Available since PHP 7.0.7 and cURL 7.33.0
CURLOPT_DNS_LOCAL_IP6 (int)
Available since PHP 7.0.7 and cURL 7.33.0
CURLOPT_XOAUTH2_BEARER (int)
Available since PHP 7.0.7 and cURL 7.33.0
CURLOPT_LOGIN_OPTIONS (int)
Available since PHP 7.0.7 and cURL 7.34.0
CURLOPT_EXPECT_100_TIMEOUT_MS (int)
Available since PHP 7.0.7 and cURL 7.36.0
CURLOPT_SSL_ENABLE_ALPN (int)
Available since PHP 7.0.7 and cURL 7.36.0
CURLOPT_SSL_ENABLE_NPN (int)
Available since PHP 7.0.7 and cURL 7.36.0
CURLOPT_PINNEDPUBLICKEY (int)
Available since PHP 7.0.7 and cURL 7.39.0
CURLOPT_UNIX_SOCKET_PATH (int)
Available since PHP 7.0.7 and cURL 7.40.0
CURLOPT_SSL_VERIFYSTATUS (int)
Available since PHP 7.0.7 and cURL 7.41.0
CURLOPT_PATH_AS_IS (int)
Available since PHP 7.0.7 and cURL 7.42.0
CURLOPT_SSL_FALSESTART (int)
Available since PHP 7.0.7 and cURL 7.42.0
CURLOPT_PIPEWAIT (int)
Available since PHP 7.0.7 and cURL 7.43.0
CURLOPT_PROXY_SERVICE_NAME (int)
Available since PHP 7.0.7 and cURL 7.43.0
CURLOPT_SERVICE_NAME (int)
Available since PHP 7.0.7 and cURL 7.43.0
CURLOPT_DEFAULT_PROTOCOL (int)
Available since PHP 7.0.7 and cURL 7.45.0
CURLOPT_STREAM_WEIGHT (int)
Available since PHP 7.0.7 and cURL 7.46.0
CURLOPT_TFTP_NO_OPTIONS (int)
Available since PHP 7.0.7 and cURL 7.48.0
CURLOPT_CONNECT_TO (int)
Available since PHP 7.0.7 and cURL 7.49.0
CURLOPT_TCP_FASTOPEN (int)
Available since PHP 7.0.7 and cURL 7.49.0
CURLOPT_TCP_KEEPALIVE (int)
Available since cURL 7.25.0
CURLOPT_TCP_KEEPIDLE (int)
Available since cURL 7.25.0
CURLOPT_TCP_KEEPINTVL (int)
Available since cURL 7.25.0
CURLMOPT_PIPELINING (int)
Available since cURL 7.16.0.
CURLMOPT_MAXCONNECTS (int)
Available since cURL 7.16.3.
CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE (int)
Available since PHP 7.0.7 and cURL 7.30.0
CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE (int)
Available since PHP 7.0.7 and cURL 7.30.0
CURLMOPT_MAX_HOST_CONNECTIONS (int)
Available since PHP 7.0.7 and cURL 7.30.0
CURLMOPT_MAX_PIPELINE_LENGTH (int)
Available since PHP 7.0.7 and cURL 7.30.0
CURLMOPT_MAX_TOTAL_CONNECTIONS (int)
Available since PHP 7.0.7 and cURL 7.30.0
CURLMOPT_PUSHFUNCTION (int)
Available since PHP 7.1.0 and cURL 7.44.0
CURLSSH_AUTH_AGENT (int)
Available since PHP 7.0.7 and cURL 7.28.0
CURLSSH_AUTH_ANY (int)
CURLSSH_AUTH_DEFAULT (int)
CURLSSH_AUTH_HOST (int)
CURLSSH_AUTH_KEYBOARD (int)
CURLSSH_AUTH_NONE (int)
CURLSSH_AUTH_PASSWORD (int)
CURLSSH_AUTH_PUBLICKEY (int)
CURLPAUSE_ALL (int)
Available since cURL 7.18.0.
CURLPAUSE_CONT (int)
Available since cURL 7.18.0.
CURLPAUSE_RECV (int)
Available since cURL 7.18.0.
CURLPAUSE_RECV_CONT (int)
Available since cURL 7.18.0.
CURLPAUSE_SEND (int)
Available since cURL 7.18.0.
CURLPAUSE_SEND_CONT (int)
Available since cURL 7.18.0.
CURLPIPE_NOTHING (int)
Available since cURL 7.43.0.
CURLPIPE_HTTP1 (int)
Available since cURL 7.43.0.
CURLPIPE_MULTIPLEX (int)
Available since cURL 7.43.0.
CURLPROXY_SOCKS4A (int)
Available since cURL 7.18.0.
CURLPROXY_SOCKS5_HOSTNAME (int)
Available since cURL 7.18.0.
CURLHEADER_SEPARATE (int)
Available since PHP 7.0.7 and cURL 7.37.0.
CURLHEADER_UNIFIED (int)
Available since PHP 7.0.7 and cURL 7.37.0.
CURLPROTO_SMB (int)
Available since PHP 7.0.7 and cURL 7.40.0.
CURLPROTO_SMBS (int)
Available since PHP 7.0.7 and cURL 7.40.0.
CURLOPT_REQUEST_TARGET (int)
Available since PHP 7.3.0 and cURL 7.55.0.
CURLAUTH_GSSAPI (int)
Available since PHP 7.3.0 and cURL 7.54.1
CURLE_WEIRD_SERVER_REPLY (int)
Available since PHP 7.3.0 and cURL 7.51.0
CURLINFO_CONTENT_LENGTH_DOWNLOAD_T (int)
Available since PHP 7.3.0 and cURL 7.55.0
CURLINFO_CONTENT_LENGTH_UPLOAD_T (int)
Available since PHP 7.3.0 and cURL 7.55.0
CURLINFO_HTTP_VERSION (int)
Available since PHP 7.3.0 and cURL 7.50.0
CURLINFO_PROTOCOL (int)
Available since PHP 7.3.0 and cURL 7.52.0
CURLINFO_PROXY_SSL_VERIFYRESULT (int)
Available since PHP 7.3.0 and cURL 7.52.0
CURLINFO_SCHEME (int)
Available since PHP 7.3.0 and cURL 7.52.0
CURLINFO_SIZE_DOWNLOAD_T (int)
Available since PHP 7.3.0 and cURL 7.50.0
CURLINFO_SIZE_UPLOAD_T (int)
Available since PHP 7.3.0 and cURL 7.50.0
CURLINFO_SPEED_DOWNLOAD_T (int)
Available since PHP 7.3.0 and cURL 7.50.0
CURLINFO_SPEED_UPLOAD_T (int)
Available since PHP 7.3.0 and cURL 7.50.0
CURL_MAX_READ_SIZE (int)
Available since PHP 7.3.0 and cURL 7.53.0
CURLOPT_ABSTRACT_UNIX_SOCKET (int)
Available since PHP 7.3.0 and cURL 7.53.0
CURLOPT_KEEP_SENDING_ON_ERROR (int)
Available since PHP 7.3.0 and cURL 7.51.0
CURLOPT_PRE_PROXY (int)
Available since PHP 7.3.0 and cURL 7.52.0
CURLOPT_PROXY_CAINFO (int)
Available since PHP 7.3.0 and cURL 7.52.0
CURLOPT_PROXY_CAPATH (int)
Available since PHP 7.3.0 and cURL 7.52.0
CURLOPT_PROXY_CRLFILE (int)
Available since PHP 7.3.0 and cURL 7.52.0
CURLOPT_PROXY_KEYPASSWD (int)
Available since PHP 7.3.0 and cURL 7.52.0
CURLOPT_PROXY_PINNEDPUBLICKEY (int)
Available since PHP 7.3.0 and cURL 7.52.0
CURLOPT_PROXY_SSLCERT (int)
Available since PHP 7.3.0 and cURL 7.52.0
CURLOPT_PROXY_SSLCERTTYPE (int)
Available since PHP 7.3.0 and cURL 7.52.0
CURLOPT_PROXY_SSL_CIPHER_LIST (int)
Available since PHP 7.3.0 and cURL 7.52.0
CURLOPT_PROXY_SSLKEY (int)
Available since PHP 7.3.0 and cURL 7.52.0
CURLOPT_PROXY_SSLKEYTYPE (int)
Available since PHP 7.3.0 and cURL 7.52.0
CURLOPT_PROXY_SSL_OPTIONS (int)
Available since PHP 7.3.0 and cURL 7.52.0
CURLOPT_PROXY_SSL_VERIFYHOST (int)
Available since PHP 7.3.0 and cURL 7.52.0
CURLOPT_PROXY_SSL_VERIFYPEER (int)
Available since PHP 7.3.0 and cURL 7.52.0
CURLOPT_PROXY_SSLVERSION (int)
Available since PHP 7.3.0 and cURL 7.52.0
CURLOPT_PROXY_TLSAUTH_PASSWORD (int)
Available since PHP 7.3.0 and cURL 7.52.0
CURLOPT_PROXY_TLSAUTH_TYPE (int)
Available since PHP 7.3.0 and cURL 7.52.0
CURLOPT_PROXY_TLSAUTH_USERNAME (int)
Available since PHP 7.3.0 and cURL 7.52.0
CURLOPT_SOCKS5_AUTH (int)
Available since PHP 7.3.0 and cURL 7.55.0
CURLOPT_SUPPRESS_CONNECT_HEADERS (int)
Available since PHP 7.3.0 and cURL 7.54.0
CURLPROXY_HTTPS (int)
Available since PHP 7.3.0 and cURL 7.52.0
CURL_SSLVERSION_MAX_DEFAULT (int)
Available since PHP 7.3.0 and cURL 7.54.0
CURL_SSLVERSION_MAX_NONE (int)
Available since PHP 7.3.0 and cURL 7.54.0
CURL_SSLVERSION_MAX_TLSv1_0 (int)
Available since PHP 7.3.0 and cURL 7.54.0
CURL_SSLVERSION_MAX_TLSv1_1 (int)
Available since PHP 7.3.0 and cURL 7.54.0
CURL_SSLVERSION_MAX_TLSv1_2 (int)
Available since PHP 7.3.0 and cURL 7.54.0
CURL_SSLVERSION_MAX_TLSv1_3 (int)
Available since PHP 7.3.0 and cURL 7.54.0
CURL_SSLVERSION_TLSv1_3 (int)
Available since PHP 7.3.0 and cURL 7.52.0
CURL_VERSION_HTTPS_PROXY (int)
Available since PHP 7.3.0 and cURL 7.52.0
CURLAUTH_BEARER (int)
Available since PHP 7.3.0 and cURL 7.61.0.
CURLINFO_APPCONNECT_TIME_T (int)
Available since PHP 7.3.0 and cURL 7.61.0
CURLINFO_CONNECT_TIME_T (int)
Available since PHP 7.3.0 and cURL 7.61.0
CURLINFO_FILETIME_T (int)
Available since PHP 7.3.0 and cURL 7.59.0
CURLINFO_NAMELOOKUP_TIME_T (int)
Available since PHP 7.3.0 and cURL 7.61.0
CURLINFO_PRETRANSFER_TIME_T (int)
Available since PHP 7.3.0 and cURL 7.61.0
CURLINFO_REDIRECT_TIME_T (int)
Available since PHP 7.3.0 and cURL 7.61.0
CURLINFO_STARTTRANSFER_TIME_T (int)
Available since PHP 7.3.0 and cURL 7.61.0
CURLINFO_TOTAL_TIME_T (int)
Available since PHP 7.3.0 and cURL 7.61.0
CURL_LOCK_DATA_CONNECT (int)
Available since PHP 7.3.0 and cURL 7.10.0
CURL_LOCK_DATA_PSL (int)
Available since PHP 7.3.0 and cURL 7.61.0
CURLOPT_DISALLOW_USERNAME_IN_URL (int)
Available since PHP 7.3.0 and cURL 7.61.0
CURLOPT_DNS_SHUFFLE_ADDRESSES (int)
Available since PHP 7.3.0 and cURL 7.60.0
CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS (int)
Available since PHP 7.3.0 and cURL 7.59.0
CURLOPT_HAPROXYPROTOCOL (int)
Available since PHP 7.3.0 and cURL 7.60.0
CURLOPT_PROXY_TLS13_CIPHERS (int)
Available since PHP 7.3.0 and cURL 7.61.0
CURLOPT_SSH_COMPRESSION (int)
Available since PHP 7.3.0 and cURL 7.56.0
CURLOPT_TIMEVALUE_LARGE (int)
Available since PHP 7.3.0 and cURL 7.59.0
CURLOPT_TLS13_CIPHERS (int)
Available since PHP 7.3.0 and cURL 7.61.0
CURLSSH_AUTH_GSSAPI (int)
Available since PHP 7.3.0 and cURL 7.58.0
CURLOPT_HTTP09_ALLOWED (int)
Available since PHP 7.3.15 and 7.4.3, respectively, and cURL 7.64.0
add a note add a note

User Contributed Notes 6 notes

up
28
nimasdj [AT] yahoo [DOT] com
6 years ago
I hope this would be useful to convert error codes:

<?php
$curl_errno
= array(
=> "CURLE_UNSUPPORTED_PROTOCOL",
=> "CURLE_FAILED_INIT",
=> "CURLE_URL_MALFORMAT",
=> "CURLE_URL_MALFORMAT_USER",
=> "CURLE_COULDNT_RESOLVE_PROXY",
=> "CURLE_COULDNT_RESOLVE_HOST",
=> "CURLE_COULDNT_CONNECT",
=> "CURLE_FTP_WEIRD_SERVER_REPLY",
=> "CURLE_FTP_ACCESS_DENIED",
10 => "CURLE_FTP_USER_PASSWORD_INCORRECT",
11 => "CURLE_FTP_WEIRD_PASS_REPLY",
12 => "CURLE_FTP_WEIRD_USER_REPLY",
13 => "CURLE_FTP_WEIRD_PASV_REPLY",
14 => "CURLE_FTP_WEIRD_227_FORMAT",
15 => "CURLE_FTP_CANT_GET_HOST",
16 => "CURLE_FTP_CANT_RECONNECT",
17 => "CURLE_FTP_COULDNT_SET_BINARY",
18 => "CURLE_FTP_PARTIAL_FILE or CURLE_PARTIAL_FILE",
19 => "CURLE_FTP_COULDNT_RETR_FILE",
20 => "CURLE_FTP_WRITE_ERROR",
21 => "CURLE_FTP_QUOTE_ERROR",
22 => "CURLE_HTTP_NOT_FOUND or CURLE_HTTP_RETURNED_ERROR",
23 => "CURLE_WRITE_ERROR",
24 => "CURLE_MALFORMAT_USER",
25 => "CURLE_FTP_COULDNT_STOR_FILE",
26 => "CURLE_READ_ERROR",
27 => "CURLE_OUT_OF_MEMORY",
28 => "CURLE_OPERATION_TIMEDOUT or CURLE_OPERATION_TIMEOUTED",
29 => "CURLE_FTP_COULDNT_SET_ASCII",
30 => "CURLE_FTP_PORT_FAILED",
31 => "CURLE_FTP_COULDNT_USE_REST",
32 => "CURLE_FTP_COULDNT_GET_SIZE",
33 => "CURLE_HTTP_RANGE_ERROR",
34 => "CURLE_HTTP_POST_ERROR",
35 => "CURLE_SSL_CONNECT_ERROR",
36 => "CURLE_BAD_DOWNLOAD_RESUME or CURLE_FTP_BAD_DOWNLOAD_RESUME",
37 => "CURLE_FILE_COULDNT_READ_FILE",
38 => "CURLE_LDAP_CANNOT_BIND",
39 => "CURLE_LDAP_SEARCH_FAILED",
40 => "CURLE_LIBRARY_NOT_FOUND",
41 => "CURLE_FUNCTION_NOT_FOUND",
42 => "CURLE_ABORTED_BY_CALLBACK",
43 => "CURLE_BAD_FUNCTION_ARGUMENT",
44 => "CURLE_BAD_CALLING_ORDER",
45 => "CURLE_HTTP_PORT_FAILED",
46 => "CURLE_BAD_PASSWORD_ENTERED",
47 => "CURLE_TOO_MANY_REDIRECTS",
48 => "CURLE_UNKNOWN_TELNET_OPTION",
49 => "CURLE_TELNET_OPTION_SYNTAX",
50 => "CURLE_OBSOLETE",
51 => "CURLE_SSL_PEER_CERTIFICATE",
52 => "CURLE_GOT_NOTHING",
53 => "CURLE_SSL_ENGINE_NOTFOUND",
54 => "CURLE_SSL_ENGINE_SETFAILED",
55 => "CURLE_SEND_ERROR",
56 => "CURLE_RECV_ERROR",
57 => "CURLE_SHARE_IN_USE",
58 => "CURLE_SSL_CERTPROBLEM",
59 => "CURLE_SSL_CIPHER",
60 => "CURLE_SSL_CACERT",
61 => "CURLE_BAD_CONTENT_ENCODING",
62 => "CURLE_LDAP_INVALID_URL",
63 => "CURLE_FILESIZE_EXCEEDED",
64 => "CURLE_FTP_SSL_FAILED",
79 => "CURLE_SSH"
);
?>
up
7
uramihsayibok, gmail, com
6 years ago
Regarding CURLE_OPERATION_TIMEDOUT vs. CURLE_OPERATION_TIMEOUTED:

Originally cURL had the constant named TIMEOUTED (read: "timeout-ed"). This was changed[1] in 2007 and v7.17.0 to be TIMEDOUT (read: "timed out") and the old constant kept in place as an alias.

PHP started off using TIMEOUTED as well. The TIMEDOUT constant was added[2] in 2012 and v5.5.0 and the old constant was *kept in place*.

If you ask me, the TIMEDOUT constant reads more nicely (not to mention is technically the correct one to use) and as long as you're using PHP 5.5+ then it is available. If you have to support older versions then I suggest you keep using the new constant and add a polyfill like

<?php
if (version_compare(PHP_VERSION, "5.5.0", "<")) {
   
define("CURLE_OPERATION_TIMEDOUT", CURLE_OPERATION_TIMEOUTED);
}
?>

or

<?php
// PHP <5.5.0
defined("CURLE_OPERATION_TIMEDOUT") || define("CURLE_OPERATION_TIMEDOUT", CURLE_OPERATION_TIMEOUTED);
?>

to be removed once you stop supporting them.

[1] https://github.com/bagder/curl/commit/9f44a95522162c0f4a61093efe1bf1f58b087358#diff-d8c6cb80505e0f7d5e27fca2a682aa34L119
[2] https://github.com/php/php-src/commit/9ab45d3edbafa3ee751472c3f8d1fb3f51f38cf1#diff-ac978e3de205f1d14eb960e0eb15ef24R723
up
4
me at ruslanbes dot com
6 years ago
Note that prior to PHP 5.5 following constants were missing and were available only through their numeric values:

CURL_SSLVERSION_DEFAULT // 0
CURL_SSLVERSION_TLSv1  // 1
CURL_SSLVERSION_SSLv2 // 2
CURL_SSLVERSION_SSLv3 // 3

This was fixed after this support request: https://bugs.php.net/bug.php?id=62318
up
16
s dot coletta at unidata dot it
11 years ago
Beware of CURLE_* constants!

On the official site:

http://curl.haxx.se/libcurl/c/libcurl-errors.html

some constants are different, some missing compared to the PHP implementation.

Some examples:

in PHP the curl error number 28 is called

CURLE_OPERATION_TIMEOUTED

while in the official site is:

CURLE_OPERATION_TIMEDOUT

So if you use the second, it won't march the error 28 because in PHP it is not defined that way.

The same is for these:

CURLE_HTTP_RETURNED_ERROR
CURLE_UPLOAD_FAILED
CURLE_INTERFACE_FAILED
CURLE_SSL_CERTPROBLEM
CURLE_SEND_FAIL_REWIND
CURLE_LOGIN_DENIED
CURLE_AGAIN

that are in someway named differently or missing from PHP.
up
6
Ron
14 years ago
<?
/*
* Author: Ron
* Released: August 4, 2007
* Description: An example of the disguise_curl() function in order to grab contents from a website while remaining fully camouflaged by using a fake user agent and fake headers.
*/

$url = 'http://www.ericgiguere.com/tools/http-header-viewer.html';

// disguises the curl using fake headers and a fake user agent.
function disguise_curl($url)
{
  $curl = curl_init();

  // Setup headers - I used the same headers from Firefox version 2.0.0.6
  // below was split up because php.net said the line was too long. :/
  $header[0] = "Accept: text/xml,application/xml,application/xhtml+xml,";
  $header[0] .= "text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5";
  $header[] = "Cache-Control: max-age=0";
  $header[] = "Connection: keep-alive";
  $header[] = "Keep-Alive: 300";
  $header[] = "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7";
  $header[] = "Accept-Language: en-us,en;q=0.5";
  $header[] = "Pragma: "; // browsers keep this blank.

  curl_setopt($curl, CURLOPT_URL, $url);
  curl_setopt($curl, CURLOPT_USERAGENT, 'Googlebot/2.1 (+http://www.google.com/bot.html)');
  curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
  curl_setopt($curl, CURLOPT_REFERER, 'http://www.google.com');
  curl_setopt($curl, CURLOPT_ENCODING, 'gzip,deflate');
  curl_setopt($curl, CURLOPT_AUTOREFERER, true);
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($curl, CURLOPT_TIMEOUT, 10);

  $html = curl_exec($curl); // execute the curl command
  curl_close($curl); // close the connection

  return $html; // and finally, return $html
}

// uses the function and displays the text off the website
$text = disguise_curl($url);
echo $text;
?>

~Ron
up
1
jrschlosser
3 years ago
In PHP version 7.1.11 there is also constants for HTTP/2 :
CURL_VERSION_HTTP2 = 65536 (1 << 16)
CURL_HTTP_VERSION_2_0 = 3

I don't know the first version of PHP that defines it.
To Top