PHPCon Poland 2024

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_DOH_URL (int)
Provides the DNS-over-HTTPS URL. Available as of PHP 8.1.0 and cURL 7.62.0.
CURLOPT_DOH_SSL_VERIFYHOST (int)
Verify the DNS-over-HTTPS server's SSL certificate name fields against the host name. Available as of PHP 8.2.0 and cURL 7.76.0.
CURLOPT_DOH_SSL_VERIFYPEER (int)
Verify the authenticity of the DNS-over-HTTPS server's SSL certificate. Available as of PHP 8.2.0 and cURL 7.76.0.
CURLOPT_DOH_SSL_VERIFYSTATUS (int)
Tell cURL to verify the status of the DNS-over-HTTPS server certificate using the "Certificate Status Request" TLS extension (OCSP stapling). Available as of PHP 8.2.0 and cURL 7.76.0.
CURLOPT_DNS_USE_GLOBAL_CACHE (int)
CURLOPT_DNS_CACHE_TIMEOUT (int)
CURLOPT_FTP_SSL (int)
CURLFTP_CREATE_DIR (int)
Available as of PHP 7.0.7 and cURL 7.19.3
CURLFTP_CREATE_DIR_NONE (int)
Available as of PHP 7.0.7 and cURL 7.19.3
CURLFTP_CREATE_DIR_RETRY (int)
Available as of PHP 7.0.7 and cURL 7.19.3
CURLFTPSSL_TRY (int)
CURLFTPSSL_ALL (int)
CURLFTPSSL_CONTROL (int)
CURLFTPSSL_NONE (int)
CURLFTPMETHOD_DEFAULT (int)
Available as of PHP 8.2.0 and cURL 7.15.3.
CURLOPT_PRIVATE (int)
CURLOPT_FTPSSLAUTH (int)
CURLOPT_PORT (int)
CURLOPT_FILE (int)
CURLOPT_INFILE (int)
CURLOPT_INFILESIZE (int)
CURLOPT_ISSUERCERT_BLOB (int)
Issuer SSL certificate from memory blob. Available as of PHP 8.1.0 and cURL 7.71.0.
CURLOPT_URL (int)
CURLOPT_PROXY (int)
CURLOPT_PROXY_ISSUERCERT (int)
Proxy issuer SSL certificate filename. Available as of PHP 8.1.0 and cURL 7.71.0.
CURLOPT_PROXY_ISSUERCERT_BLOB (int)
Proxy issuer SSL certificate from memory blob. Available as of PHP 8.1.0 and cURL 7.71.0.
CURLOPT_PROXY_SSLCERT_BLOB (int)
SSL proxy client certificate from memory blob. Available as of PHP 8.1.0 and cURL 7.71.0.
CURLOPT_PROXY_SSLKEY_BLOB (int)
Private key for proxy cert from memory blob. Available as of PHP 8.1.0 and cURL 7.71.0.
CURLOPT_VERBOSE (int)
CURLOPT_ALTSVC (int)
Available as of PHP 8.2.0 and cURL 7.64.1.
CURLOPT_ALTSVC_CTRL (int)
Available as of PHP 8.2.0 and cURL 7.64.1.
CURLALTSVC_H1 (int)
Available as of PHP 8.2.0 and cURL 7.64.1.
CURLALTSVC_H2 (int)
Available as of PHP 8.2.0 and cURL 7.64.1.
CURLALTSVC_H3 (int)
Available as of PHP 8.2.0 and cURL 7.64.1.
CURLALTSVC_READONLYFILE (int)
Available as of PHP 8.2.0 and cURL 7.64.1.
CURLOPT_HEADER (int)
CURLOPT_HTTPHEADER (int)
CURLOPT_NOPROGRESS (int)
CURLOPT_NOBODY (int)
CURLOPT_FAILONERROR (int)
CURLOPT_UPLOAD (int)
CURLOPT_UPLOAD_BUFFERSIZE (int)
Available as of PHP 8.2.0 and cURL 7.62.0
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_MIME_OPTIONS (int)
Available as of PHP 8.3.0 and cURL 7.81.0
CURLOPT_MUTE (int)
Removed as of cURL 7.15.5; use CURLOPT_RETURNTRANSFER instead.
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 as of cURL 7.14.1
CURLOPT_SSLCERT (int)
CURLOPT_SSLCERT_BLOB (int)
SSL client certificate from memory blob. Available as of PHP 8.1.0 and cURL 7.71.0.
CURLOPT_SSLCERTPASSWD (int)
CURLOPT_SSLKEY_BLOB (int)
Private key for client cert from memory blob. Available as of PHP 8.1.0 and cURL 7.71.0.
CURLOPT_WRITEHEADER (int)
CURLOPT_WS_OPTIONS (int)
Available as of PHP 8.3.0 and cURL 7.86.0
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)
CURL_SSLVERSION_TLSv1_3 (int)
CURLOPT_TIMECONDITION (int)
CURLOPT_TIMEVALUE (int)
CURLOPT_CUSTOMREQUEST (int)
CURLOPT_STDERR (int)
CURLOPT_TRANSFERTEXT (int)
CURLOPT_RETURNTRANSFER (int)
CURLOPT_QUICK_EXIT (int)
Available as of PHP 8.3.0 and cURL 7.87.0
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)
Removed as of PHP 7.3.0.
CURLOPT_HEADERFUNCTION (int)
CURLOPT_MAXAGE_CONN (int)
Available as of PHP 8.2.0 and cURL 7.65.0
CURLOPT_MAXFILESIZE_LARGE (int)
Available as of PHP 8.2.0 and cURL 7.11.0
CURLOPT_MAXLIFETIME_CONN (int)
Available as of PHP 8.2.0 and cURL 7.80.0
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_CA_CACHE_TIMEOUT (int)
Available as of PHP 8.3.0 and cURL 7.87.0
CURLOPT_CAINFO (int)
CURLOPT_CAINFO_BLOB (int)
Available as of PHP 8.2.0 and cURL 7.77.0
CURLOPT_CAPATH (int)
CURLOPT_COOKIEJAR (int)
CURLOPT_SSL_CIPHER_LIST (int)
CURLOPT_SSL_EC_CURVES (int)
Available as of PHP 8.2.0 and cURL 7.73.0
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_HSTS (int)
Available as of PHP 8.2.0 and cURL 7.74.0
CURLOPT_HSTS_CTRL (int)
Available as of PHP 8.2.0 and cURL 7.74.0
CURLHSTS_ENABLE (int)
Available as of PHP 8.2.0 and cURL 7.74.0
CURLHSTS_READONLYFILE (int)
Available as of PHP 8.2.0 and cURL 7.74.0
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)
CURLOPT_AWS_SIGV4 (int)
Available as of PHP 8.2.0 and cURL 7.75.0
CURLAUTH_BASIC (int)
CURLAUTH_DIGEST (int)
CURLAUTH_GSSNEGOTIATE (int)
CURLAUTH_NEGOTIATE (int)
Available as of PHP 7.0.7 and cURL 7.38.0.
CURLAUTH_NTLM (int)
CURLAUTH_NTLM_WB (int)
Available as of PHP 7.0.7 and cURL 7.22.0
CURLAUTH_ANY (int)
CURLAUTH_ANYSAFE (int)
CURLAUTH_AWS_SIGV4 (int)
Available as of PHP 8.2.0 and cURL 7.75.0.
CURLOPT_PROXYAUTH (int)
CURLOPT_MAIL_RCPT_ALLLOWFAILS (int)
Available as of PHP 8.2.0 and cURL 7.69.0
CURLOPT_UPKEEP_INTERVAL_MS (int)
Available as of PHP 8.2.0 and cURL 7.62.0
CURLOPT_MAX_RECV_SPEED_LARGE (int)
Available as of cURL 7.15.5
CURLOPT_MAX_SEND_SPEED_LARGE (int)
Available as of cURL 7.15.5
CURLOPT_HEADEROPT (int)
Available as of PHP 7.0.7 and cURL 7.37.0
CURLOPT_PROXYHEADER (int)
Available as of PHP 7.0.7 and cURL 7.37.0
CURLPX_BAD_ADDRESS_TYPE (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_BAD_VERSION (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_CLOSED (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_GSSAPI (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_GSSAPI_PERMSG (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_GSSAPI_PROTECTION (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_IDENTD_DIFFER (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_IDENTD (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_LONG_HOSTNAME (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_LONG_PASSWD (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_LONG_USER (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_NO_AUTH (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_OK (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_RECV_ADDRESS (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_RECV_AUTH (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_RECV_CONNECT (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_RECV_REQACK (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_REPLY_ADDRESS_TYPE_NOT_SUPPORTED (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_REPLY_COMMAND_NOT_SUPPORTED (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_REPLY_CONNECTION_REFUSED (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_REPLY_GENERAL_SERVER_FAILURE (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_REPLY_HOST_UNREACHABLE (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_REPLY_NETWORK_UNREACHABLE (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_REPLY_NOT_ALLOWED (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_REPLY_TTL_EXPIRED (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_REPLY_UNASSIGNED (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_REQUEST_FAILED (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_RESOLVE_HOST (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_SEND_AUTH (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_SEND_CONNECT (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_SEND_REQUEST (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_UNKNOWN_FAIL (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_UNKNOWN_MODE (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_USER_REJECTED (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURL_PUSH_OK (int)
Available as of PHP 7.1.0 and cURL 7.44.0
CURL_PUSH_DENY (int)
Available as of PHP 7.1.0 and cURL 7.44.0
CURL_REDIR_POST_301 (int)
Available as of PHP 7.0.7 and cURL 7.18.2
CURL_REDIR_POST_302 (int)
Available as of PHP 7.0.7 and cURL 7.18.2
CURL_REDIR_POST_303 (int)
Available as of PHP 7.0.7 and cURL 7.25.1
CURL_REDIR_POST_ALL (int)
Available as of 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 as of PHP 7.3.6 and cURL 7.64.1
CURL_VERSION_ASYNCHDNS (int)
Asynchronous DNS resolves. Available as of PHP 7.3.0 and cURL 7.10.7
CURL_VERSION_BROTLI (int)
Available as of PHP 7.3.0 and cURL 7.57.0
CURL_VERSION_CONV (int)
Character conversions supported. Available as of PHP 7.3.0 and cURL 7.15.4
CURL_VERSION_CURLDEBUG (int)
Debug memory tracking supported. Available as of PHP 7.3.6 and cURL 7.19.6
CURL_VERSION_DEBUG (int)
Built with debug capabilities. Available as of PHP 7.3.0 and cURL 7.10.6
CURL_VERSION_GSASL (int)
Available as of PHP 8.2.0 and cURL 7.76.0
CURL_VERSION_GSSAPI (int)
Built against a GSS-API library. Available as of PHP 7.3.0 and cURL 7.38.0
CURL_VERSION_GSSNEGOTIATE (int)
Negotiate auth is supported. Available as of PHP 7.3.0 and cURL 7.10.6 (deprecated as of 7.38.0)
CURL_VERSION_HSTS (int)
Available as of PHP 8.2.0 and cURL 7.74.0
CURL_VERSION_IDN (int)
Internationized Domain Names are supported. Available as of PHP 7.3.0 and cURL 7.12.0
CURL_VERSION_MULTI_SSL (int)
Available as of PHP 7.3.0 and cURL 7.56.0
CURL_VERSION_NTLM (int)
NTLM auth is supported. Available as of PHP 7.3.0 and cURL 7.10.6
CURL_VERSION_NTLM_WB (int)
NTLM delegation to winbind helper is supported. Available as of 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 as of PHP 7.0.7 and cURL 7.40.0
CURL_VERSION_HTTP2 (int)
HTTP2 support built-in. Available as of cURL 7.33.0
CURL_VERSION_HTTP3 (int)
Available as of PHP 8.2.0 and cURL 7.66.0
CURL_VERSION_LARGEFILE (int)
Supports files larger than 2GB. Available as of cURL 7.33.0
CURL_VERSION_PSL (int)
Mozilla's Public Suffix List, used for cookie domain verification. Available as of PHP 7.3.6 and cURL 7.47.0
CURL_VERSION_SPNEGO (int)
SPNEGO auth is supported. Available as of PHP 7.3.0 and cURL 7.10.8
CURL_VERSION_SSPI (int)
Built against Windows SSPI. Available as of 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 as of PHP 7.3.0 and cURL 7.21.4
CURL_VERSION_UNICODE (int)
Available as of PHP 8.2.0 and cURL 7.72.0
CURL_VERSION_UNIX_SOCKETS (int)
Unix domain sockets support. Available as of PHP 7.0.7 and cURL 7.40.0
CURL_VERSION_ZSTD (int)
Available as of PHP 8.2.0 and cURL 7.72.0
CURL_VERSION_LIBZ (int)
libz features are present.
CURLVERSION_NOW (int)
CURLFTPAUTH_DEFAULT (int)
CURLFTPAUTH_SSL (int)
CURLFTPAUTH_TLS (int)
CURLPROXY_HTTP (int)
Available as of cURL 7.10.
CURLPROXY_HTTP_1_0 (int)
Available as of PHP 7.0.7 and cURL 7.19.3
CURLPROXY_SOCKS4 (int)
Available as of cURL 7.10.
CURLPROXY_SOCKS5 (int)
Available as of 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 as of PHP 7.0.7 and cURL 7.43.0
CURL_HTTP_VERSION_2_0 (int)
Available as of cURL 7.33.0
CURL_HTTP_VERSION_2TLS (int)
Available as of PHP 7.0.7 and cURL 7.47.0
CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE (int)
Available as of 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_HOST_PUBLIC_KEY_SHA256 (int)
Available as of PHP 8.2.0 and cURL 7.80.0
CURLOPT_SSH_HOSTKEYFUNCTION (int)
Available as of PHP 8.3.0 and cURL 7.84.0
CURLOPT_SSH_PRIVATE_KEYFILE (int)
CURLOPT_SSH_PUBLIC_KEYFILE (int)
CURLOPT_SSL_OPTIONS (int)
Available as of cURL 7.25.0
CURLSSLOPT_ALLOW_BEAST (int)
Available as of cURL 7.25.0
CURLSSLOPT_NO_REVOKE (int)
Available as of PHP 7.0.7 and cURL 7.44.0
CURLSSLOPT_AUTO_CLIENT_CERT (int)
Available as of PHP 8.2.0 and cURL 7.77.0
CURLSSLOPT_NATIVE_CA (int)
Available as of PHP 8.2.0 and cURL 7.71.0
CURLSSLOPT_NO_PARTIALCHAIN (int)
Available as of PHP 8.2.0 and cURL 7.68.0
CURLSSLOPT_REVOKE_BEST_EFFORT (int)
Available as of PHP 8.2.0 and cURL 7.70.0
CURLOPT_USERNAME (int)
Available as of cURL 7.19.1
CURLOPT_SASL_AUTHZID (int)
Available as of PHP 8.2.0 and cURL 7.66.0
CURLOPT_SASL_IR (int)
Available as of PHP 7.0.7 and cURL 7.31.0
CURLOPT_DNS_INTERFACE (int)
Available as of PHP 7.0.7 and cURL 7.33.0
CURLOPT_DNS_LOCAL_IP4 (int)
Available as of PHP 7.0.7 and cURL 7.33.0
CURLOPT_DNS_LOCAL_IP6 (int)
Available as of PHP 7.0.7 and cURL 7.33.0
CURLOPT_XOAUTH2_BEARER (int)
Available as of PHP 7.0.7 and cURL 7.33.0
CURLOPT_LOGIN_OPTIONS (int)
Available as of PHP 7.0.7 and cURL 7.34.0
CURLOPT_EXPECT_100_TIMEOUT_MS (int)
Available as of PHP 7.0.7 and cURL 7.36.0
CURLOPT_SSL_ENABLE_ALPN (int)
Available as of PHP 7.0.7 and cURL 7.36.0
CURLOPT_SSL_ENABLE_NPN (int)
Available as of PHP 7.0.7 and cURL 7.36.0
CURLOPT_PINNEDPUBLICKEY (int)
Available as of PHP 7.0.7 and cURL 7.39.0
CURLOPT_UNIX_SOCKET_PATH (int)
Available as of PHP 7.0.7 and cURL 7.40.0
CURLOPT_SSL_VERIFYSTATUS (int)
Available as of PHP 7.0.7 and cURL 7.41.0
CURLOPT_PATH_AS_IS (int)
Available as of PHP 7.0.7 and cURL 7.42.0
CURLOPT_SSL_FALSESTART (int)
Available as of PHP 7.0.7 and cURL 7.42.0
CURLOPT_PIPEWAIT (int)
Available as of PHP 7.0.7 and cURL 7.43.0
CURLOPT_PROTOCOLS_STR (int)
Available as of PHP 8.3.0 and cURL 7.85.0
CURLOPT_PROXY_SERVICE_NAME (int)
Available as of PHP 7.0.7 and cURL 7.43.0
CURLOPT_SERVICE_NAME (int)
Available as of PHP 7.0.7 and cURL 7.43.0
CURLOPT_DEFAULT_PROTOCOL (int)
Available as of PHP 7.0.7 and cURL 7.45.0
CURLOPT_STREAM_WEIGHT (int)
Available as of PHP 7.0.7 and cURL 7.46.0
CURLOPT_TFTP_NO_OPTIONS (int)
Available as of PHP 7.0.7 and cURL 7.48.0
CURLOPT_CONNECT_TO (int)
Available as of PHP 7.0.7 and cURL 7.49.0
CURLOPT_TCP_FASTOPEN (int)
Available as of PHP 7.0.7 and cURL 7.49.0
CURLOPT_TCP_KEEPALIVE (int)
Available as of cURL 7.25.0
CURLOPT_TCP_KEEPIDLE (int)
Available as of cURL 7.25.0
CURLOPT_TCP_KEEPINTVL (int)
Available as of cURL 7.25.0
CURLMOPT_PIPELINING (int)
Available as of cURL 7.16.0.
CURLMOPT_MAXCONNECTS (int)
Available as of cURL 7.16.3.
CURLMOPT_MAX_CONCURRENT_STREAMS (int)
Available as of PHP 8.2.0 and cURL 7.67.0.
CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE (int)
Available as of PHP 7.0.7 and cURL 7.30.0
CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE (int)
Available as of PHP 7.0.7 and cURL 7.30.0
CURLMOPT_MAX_HOST_CONNECTIONS (int)
Available as of PHP 7.0.7 and cURL 7.30.0
CURLMOPT_MAX_PIPELINE_LENGTH (int)
Available as of PHP 7.0.7 and cURL 7.30.0
CURLMOPT_MAX_TOTAL_CONNECTIONS (int)
Available as of PHP 7.0.7 and cURL 7.30.0
CURLMOPT_PUSHFUNCTION (int)
Available as of PHP 7.1.0 and cURL 7.44.0
CURLSSH_AUTH_AGENT (int)
Available as of 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 as of cURL 7.18.0.
CURLPAUSE_CONT (int)
Available as of cURL 7.18.0.
CURLPAUSE_RECV (int)
Available as of cURL 7.18.0.
CURLPAUSE_RECV_CONT (int)
Available as of cURL 7.18.0.
CURLPAUSE_SEND (int)
Available as of cURL 7.18.0.
CURLPAUSE_SEND_CONT (int)
Available as of cURL 7.18.0.
CURLPIPE_NOTHING (int)
Available as of cURL 7.43.0.
CURLPIPE_HTTP1 (int)
Available as of cURL 7.43.0.
CURLPIPE_MULTIPLEX (int)
Available as of cURL 7.43.0.
CURLPROXY_SOCKS4A (int)
Available as of cURL 7.18.0.
CURLPROXY_SOCKS5_HOSTNAME (int)
Available as of cURL 7.18.0.
CURLHEADER_SEPARATE (int)
Available as of PHP 7.0.7 and cURL 7.37.0.
CURLHEADER_UNIFIED (int)
Available as of PHP 7.0.7 and cURL 7.37.0.
CURLPROTO_SMB (int)
Available as of PHP 7.0.7 and cURL 7.40.0.
CURLPROTO_SMBS (int)
Available as of PHP 7.0.7 and cURL 7.40.0.
CURLPROTO_MQTT (int)
Available as of PHP 8.2.0 and cURL 7.71.0.
CURLOPT_REDIR_PROTOCOLS_STR (int)
Available as of PHP 8.3.0 and cURL 7.85.0.
CURLOPT_REQUEST_TARGET (int)
Available as of PHP 7.3.0 and cURL 7.55.0.
CURLAUTH_GSSAPI (int)
Available as of PHP 7.3.0 and cURL 7.54.1
CURL_MAX_READ_SIZE (int)
Available as of PHP 7.3.0 and cURL 7.53.0
CURLOPT_ABSTRACT_UNIX_SOCKET (int)
Available as of PHP 7.3.0 and cURL 7.53.0
CURLOPT_KEEP_SENDING_ON_ERROR (int)
Available as of PHP 7.3.0 and cURL 7.51.0
CURLOPT_PRE_PROXY (int)
Available as of PHP 7.3.0 and cURL 7.52.0
CURLOPT_PROXY_CAINFO (int)
Available as of PHP 7.3.0 and cURL 7.52.0
CURLOPT_PROXY_CAINFO_BLOB (int)
Available as of PHP 8.2.0 and cURL 7.77.0
CURLOPT_PROXY_CAPATH (int)
Available as of PHP 7.3.0 and cURL 7.52.0
CURLOPT_PROXY_CRLFILE (int)
Available as of PHP 7.3.0 and cURL 7.52.0
CURLOPT_PROXY_KEYPASSWD (int)
Available as of PHP 7.3.0 and cURL 7.52.0
CURLOPT_PROXY_PINNEDPUBLICKEY (int)
Available as of PHP 7.3.0 and cURL 7.52.0
CURLOPT_PROXY_SSLCERT (int)
Available as of PHP 7.3.0 and cURL 7.52.0
CURLOPT_PROXY_SSLCERTTYPE (int)
Available as of PHP 7.3.0 and cURL 7.52.0
CURLOPT_PROXY_SSL_CIPHER_LIST (int)
Available as of PHP 7.3.0 and cURL 7.52.0
CURLOPT_PROXY_SSLKEY (int)
Available as of PHP 7.3.0 and cURL 7.52.0
CURLOPT_PROXY_SSLKEYTYPE (int)
Available as of PHP 7.3.0 and cURL 7.52.0
CURLOPT_PROXY_SSL_OPTIONS (int)
Available as of PHP 7.3.0 and cURL 7.52.0
CURLOPT_PROXY_SSL_VERIFYHOST (int)
Available as of PHP 7.3.0 and cURL 7.52.0
CURLOPT_PROXY_SSL_VERIFYPEER (int)
Available as of PHP 7.3.0 and cURL 7.52.0
CURLOPT_PROXY_SSLVERSION (int)
Available as of PHP 7.3.0 and cURL 7.52.0
CURLOPT_PROXY_TLSAUTH_PASSWORD (int)
Available as of PHP 7.3.0 and cURL 7.52.0
CURLOPT_PROXY_TLSAUTH_TYPE (int)
Available as of PHP 7.3.0 and cURL 7.52.0
CURLOPT_PROXY_TLSAUTH_USERNAME (int)
Available as of PHP 7.3.0 and cURL 7.52.0
CURLOPT_SOCKS5_AUTH (int)
Available as of PHP 7.3.0 and cURL 7.55.0
CURLOPT_SUPPRESS_CONNECT_HEADERS (int)
Available as of PHP 7.3.0 and cURL 7.54.0
CURLPROXY_HTTPS (int)
Available as of PHP 7.3.0 and cURL 7.52.0
CURL_SSLVERSION_MAX_DEFAULT (int)
Available as of PHP 7.3.0 and cURL 7.54.0
CURL_SSLVERSION_MAX_NONE (int)
Available as of PHP 7.3.0 and cURL 7.54.0
CURL_SSLVERSION_MAX_TLSv1_0 (int)
Available as of PHP 7.3.0 and cURL 7.54.0
CURL_SSLVERSION_MAX_TLSv1_1 (int)
Available as of PHP 7.3.0 and cURL 7.54.0
CURL_SSLVERSION_MAX_TLSv1_2 (int)
Available as of PHP 7.3.0 and cURL 7.54.0
CURL_SSLVERSION_MAX_TLSv1_3 (int)
Available as of PHP 7.3.0 and cURL 7.54.0
CURL_SSLVERSION_TLSv1_3 (int)
Available as of PHP 7.3.0 and cURL 7.52.0
CURL_VERSION_HTTPS_PROXY (int)
Available as of PHP 7.3.0 and cURL 7.52.0
CURLAUTH_BEARER (int)
Available as of PHP 7.3.0 and cURL 7.61.0.
CURL_LOCK_DATA_CONNECT (int)
Available as of PHP 7.3.0 and cURL 7.10.0
CURL_LOCK_DATA_PSL (int)
Available as of PHP 7.3.0 and cURL 7.61.0
CURLOPT_DISALLOW_USERNAME_IN_URL (int)
Available as of PHP 7.3.0 and cURL 7.61.0
CURLOPT_DNS_SHUFFLE_ADDRESSES (int)
Available as of PHP 7.3.0 and cURL 7.60.0
CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS (int)
Available as of PHP 7.3.0 and cURL 7.59.0
CURLOPT_HAPROXYPROTOCOL (int)
Available as of PHP 7.3.0 and cURL 7.60.0
CURLOPT_PROXY_TLS13_CIPHERS (int)
Available as of PHP 7.3.0 and cURL 7.61.0
CURLOPT_SSH_COMPRESSION (int)
Available as of PHP 7.3.0 and cURL 7.56.0
CURLOPT_TIMEVALUE_LARGE (int)
Available as of PHP 7.3.0 and cURL 7.59.0
CURLOPT_TLS13_CIPHERS (int)
Available as of PHP 7.3.0 and cURL 7.61.0
CURLSSH_AUTH_GSSAPI (int)
Available as of PHP 7.3.0 and cURL 7.58.0
CURLOPT_HTTP09_ALLOWED (int)
Available as of PHP 7.3.15 and 7.4.3, respectively, and cURL 7.64.0
CURLMIMEOPT_FORMESCAPE (int)
Available as of PHP 8.3.0 and cURL 7.81.0
CURLWS_RAW_MODE (int)
Available as of PHP 8.3.0 and cURL 7.86.0
CURLKHMATCH_OK (int)
Available as of PHP 8.3.0 and cURL 7.19.6
CURLKHMATCH_MISMATCH (int)
Available as of PHP 8.3.0 and cURL 7.19.6
CURLKHMATCH_MISSING (int)
Available as of PHP 8.3.0 and cURL 7.19.6
CURLKHMATCH_LAST (int)
Available as of PHP 8.3.0 and cURL 7.19.6
curl_getinfo()
Constants Description
CURLINFO_APPCONNECT_TIME (int) Time in seconds it took from the start until the SSL/SSH connect/handshake to the remote host was completed
CURLINFO_APPCONNECT_TIME_T (int) Time, in microseconds, it took from the start until the SSL/SSH connect/handshake to the remote host was completed. Available as of PHP 7.3.0 and cURL 7.61.0
CURLINFO_CAINFO (int) Default built-in CA certificate path. Available as of PHP 8.3.0 and cURL 7.84.0
CURLINFO_CAPATH (int) Default built-in CA path string. Available as of PHP 8.3.0 and cURL 7.84.0
CURLINFO_CERTINFO (int) TLS certificate chain
CURLINFO_CONDITION_UNMET (int) Info on unmet time conditional
CURLINFO_CONNECT_TIME (int) Time in seconds it took to establish the connection
CURLINFO_CONNECT_TIME_T (int) Total time taken, in microseconds, from the start until the connection to the remote host (or proxy) was completed. Available as of PHP 7.3.0 and cURL 7.61.0
CURLINFO_CONTENT_LENGTH_DOWNLOAD (int) Content length of download, read from Content-Length: field
CURLINFO_CONTENT_LENGTH_DOWNLOAD_T (int) The content-length of the download. This is the value read from the Content-Length: field. -1 if the size isn't known. Available as of PHP 7.3.0 and cURL 7.55.0
CURLINFO_CONTENT_LENGTH_UPLOAD (int) Specified size of upload
CURLINFO_CONTENT_LENGTH_UPLOAD_T (int) The specified size of the upload. -1 if the size isn't known. Available as of PHP 7.3.0 and cURL 7.55.0
CURLINFO_CONTENT_TYPE (int) Content-Type: of the requested document. NULL indicates server did not send valid Content-Type: header
CURLINFO_COOKIELIST (int) All known cookies
CURLINFO_EFFECTIVE_URL (int) Last effective URL
CURLINFO_FILETIME (int) Remote time of the retrieved document, with the CURLOPT_FILETIME enabled; if -1 is returned the time of the document is unknown
CURLINFO_FILETIME_T (int) Remote time of the retrieved document (as Unix timestamp), an alternative to CURLINFO_FILETIME to allow systems with 32 bit long variables to extract dates outside of the 32bit timestamp range. Available as of PHP 7.3.0 and cURL 7.59.0
CURLINFO_FTP_ENTRY_PATH (int) Entry path in FTP server
CURLINFO_HEADER_OUT (int) The request string sent. For this to work, add the CURLINFO_HEADER_OUT option to the handle by calling curl_setopt()
CURLINFO_HEADER_SIZE (int) Total size of all headers received
CURLINFO_HTTPAUTH_AVAIL (int) Bitmask indicating the authentication method(s) available according to the previous response
CURLINFO_HTTP_CODE (int) The last response code. As of cURL 7.10.8, this is a legacy alias of CURLINFO_RESPONSE_CODE.
CURLINFO_HTTP_CONNECTCODE (int) The CONNECT response code
CURLINFO_HTTP_VERSION (int) The version used in the last HTTP connection. The return value will be one of the defined CURL_HTTP_VERSION_* constants or 0 if the version can't be determined. Available as of PHP 7.3.0 and cURL 7.50.0
CURLINFO_LOCAL_IP (int) Local (source) IP address of the most recent connection
CURLINFO_LOCAL_PORT (int) Local (source) port of the most recent connection
CURLINFO_NAMELOOKUP_TIME (int) Time in seconds until name resolving was complete
CURLINFO_NAMELOOKUP_TIME_T (int) Time in microseconds from the start until the name resolving was completed. Available as of PHP 7.3.0 and cURL 7.61.0
CURLINFO_NUM_CONNECTS (int) Number of connections curl had to create to achieve the previous transfer
CURLINFO_OS_ERRNO (int) Errno from a connect failure. The number is OS and system specific.
CURLINFO_PRETRANSFER_TIME (int) Time in seconds from start until just before file transfer begins
CURLINFO_PRETRANSFER_TIME_T (int) Time taken from the start until the file transfer is just about to begin, in microseconds. Available as of PHP 7.3.0 and cURL 7.61.0
CURLINFO_PRIMARY_IP (int) IP address of the most recent connection
CURLINFO_PRIMARY_PORT (int) Destination port of the most recent connection
CURLINFO_PRIVATE (int) Private data associated with this cURL handle, previously set with the CURLOPT_PRIVATE option of curl_setopt()
CURLINFO_PROTOCOL (int) The protocol used in the last HTTP connection. The returned value will be exactly one of the CURLPROTO_* values. Available as of PHP 7.3.0 and cURL 7.52.0
CURLINFO_PROXYAUTH_AVAIL (int) Bitmask indicating the proxy authentication method(s) available according to the previous response
CURLINFO_PROXY_ERROR (int) The detailed (SOCKS) proxy error code when the most recent transfer returned a CURLE_PROXY error. The returned value will be exactly one of the CURLPX_* values. The error code will be CURLPX_OK if no response code was available. Available as of PHP 8.2.0 and cURL 7.73.0
CURLINFO_PROXY_SSL_VERIFYRESULT (int) The result of the certificate verification that was requested (using the CURLOPT_PROXY_SSL_VERIFYPEER option). Only used for HTTPS proxies. Available as of PHP 7.3.0 and cURL 7.52.0
CURLINFO_REDIRECT_COUNT (int) Number of redirects, with the CURLOPT_FOLLOWLOCATION option enabled
CURLINFO_REDIRECT_TIME (int) Time in seconds of all redirection steps before final transaction was started, with the CURLOPT_FOLLOWLOCATION option enabled
CURLINFO_REDIRECT_TIME_T (int) Total time, in microseconds, it took for all redirection steps include name lookup, connect, pretransfer and transfer before final transaction was started. Available as of PHP 7.3.0 and cURL 7.61.0
CURLINFO_REDIRECT_URL (int) With the CURLOPT_FOLLOWLOCATION option disabled: redirect URL found in the last transaction, that should be requested manually next. With the CURLOPT_FOLLOWLOCATION option enabled: this is empty. The redirect URL in this case is available in CURLINFO_EFFECTIVE_URL
CURLINFO_REFERER (int) The referrer header. Available as of PHP 8.2.0 and cURL 7.76.0
CURLINFO_REQUEST_SIZE (int) Total size of issued requests, currently only for HTTP requests
CURLINFO_RESPONSE_CODE (int) The last response code. Available as of cURL 7.10.8
CURLINFO_RETRY_AFTER (int) The information from the Retry-After: header, or zero if there was no valid header. Available as of PHP 8.2.0 and cURL 7.66.0
CURLINFO_RTSP_CLIENT_CSEQ (int) Next RTSP client CSeq
CURLINFO_RTSP_CSEQ_RECV (int) Recently received CSeq
CURLINFO_RTSP_SERVER_CSEQ (int) Next RTSP server CSeq
CURLINFO_RTSP_SESSION_ID (int) RTSP session ID
CURLINFO_SCHEME (int) The URL scheme used for the most recent connection. Available as of PHP 7.3.0 and cURL 7.52.0
CURLINFO_SIZE_DOWNLOAD (int) Total number of bytes downloaded
CURLINFO_SIZE_DOWNLOAD_T (int) Total number of bytes that were downloaded. The number is only for the latest transfer and will be reset again for each new transfer. Available as of PHP 7.3.0 and cURL 7.50.0
CURLINFO_SIZE_UPLOAD (int) Total number of bytes uploaded
CURLINFO_SIZE_UPLOAD_T (int) Total number of bytes that were uploaded. Available as of PHP 7.3.0 and cURL 7.50.0
CURLINFO_SPEED_DOWNLOAD (int) Average download speed
CURLINFO_SPEED_DOWNLOAD_T (int) The average download speed in bytes/second that curl measured for the complete download. Available as of PHP 7.3.0 and cURL 7.50.0
CURLINFO_SPEED_UPLOAD (int) Average upload speed
CURLINFO_SPEED_UPLOAD_T (int) The average upload speed in bytes/second that curl measured for the complete upload. Available as of PHP 7.3.0 and cURL 7.50.0
CURLINFO_SSL_ENGINES (int) OpenSSL crypto-engines supported
CURLINFO_SSL_VERIFYRESULT (int) Result of SSL certification verification requested by setting CURLOPT_SSL_VERIFYPEER
CURLINFO_STARTTRANSFER_TIME (int) Time in seconds until the first byte is about to be transferred
CURLINFO_STARTTRANSFER_TIME_T (int) Time, in microseconds, it took from the start until the first byte is received. Available as of PHP 7.3.0 and cURL 7.61.0
CURLINFO_TOTAL_TIME (int) Total transaction time in seconds for last transfer
CURLINFO_TOTAL_TIME_T (int) Total time in microseconds for the previous transfer, including name resolving, TCP connect etc. Available as of PHP 7.3.0 and cURL 7.61.0
cURL error constants
Constants Description
CURLE_ABORTED_BY_CALLBACK (int) Aborted by callback. A callback returned "abort" to libcurl.
CURLE_BAD_CALLING_ORDER (int)
CURLE_BAD_CONTENT_ENCODING (int) Unrecognized transfer encoding.
CURLE_BAD_DOWNLOAD_RESUME (int) The download could not be resumed because the specified offset was out of the file boundary.
CURLE_BAD_FUNCTION_ARGUMENT (int) A function was called with a bad parameter.
CURLE_BAD_PASSWORD_ENTERED (int)
CURLE_COULDNT_CONNECT (int) Failed to connect to host or proxy.
CURLE_COULDNT_RESOLVE_HOST (int) Could not resolve host. The given remote host was not resolved.
CURLE_COULDNT_RESOLVE_PROXY (int) Could not resolve proxy. The given proxy host could not be resolved.
CURLE_FAILED_INIT (int) Early initialization code failed. This is likely to be an internal error or problem, or a resource problem where something fundamental could not get done at init time.
CURLE_FILESIZE_EXCEEDED (int) Maximum file size exceeded.
CURLE_FILE_COULDNT_READ_FILE (int) A file given with FILE:// could not be opened. Most likely because the file path does not identify an existing file or due to the lack of appropriate file permissions.
CURLE_FTP_ACCESS_DENIED (int)
CURLE_FTP_BAD_DOWNLOAD_RESUME (int)
CURLE_FTP_CANT_GET_HOST (int) An internal failure to lookup the host used for the new connection.
CURLE_FTP_CANT_RECONNECT (int)
CURLE_FTP_COULDNT_GET_SIZE (int)
CURLE_FTP_COULDNT_RETR_FILE (int) This was either a unexpected reply to a 'RETR' command or a zero byte transfer complete.
CURLE_FTP_COULDNT_SET_ASCII (int)
CURLE_FTP_COULDNT_SET_BINARY (int)
CURLE_FTP_COULDNT_STOR_FILE (int)
CURLE_FTP_COULDNT_USE_REST (int) The FTP REST command returned error. This should never happen if the server is sane.
CURLE_FTP_PARTIAL_FILE (int)
CURLE_FTP_PORT_FAILED (int) The FTP PORT command returned error. This mostly happens when a good enough address has not been specified for libcurl to use. See CURLOPT_FTPPORT.
CURLE_FTP_QUOTE_ERROR (int)
CURLE_FTP_SSL_FAILED (int)
CURLE_FTP_USER_PASSWORD_INCORRECT (int)
CURLE_FTP_WEIRD_227_FORMAT (int) FTP servers return a 227-line as a response to a PASV command. If libcurl fails to parse that line, this return code is passed back.
CURLE_FTP_WEIRD_PASS_REPLY (int) After having sent the FTP password to the server, libcurl expects a proper reply. This error code indicates that an unexpected code was returned.
CURLE_FTP_WEIRD_PASV_REPLY (int) libcurl failed to get a sensible result back from the server as a response to either a PASV or a EPSV command. The server is flawed.
CURLE_FTP_WEIRD_SERVER_REPLY (int) The server sent data libcurl could not parse. This error code is known as CURLE_WEIRD_SERVER_REPLY as of cURL 7.51.0.
CURLE_FTP_WEIRD_USER_REPLY (int)
CURLE_FTP_WRITE_ERROR (int)
CURLE_FUNCTION_NOT_FOUND (int) Function not found. A required zlib function was not found.
CURLE_GOT_NOTHING (int) Nothing was returned from the server, and under the circumstances, getting nothing is considered an error.
CURLE_HTTP_NOT_FOUND (int)
CURLE_HTTP_PORT_FAILED (int)
CURLE_HTTP_POST_ERROR (int) This is an odd error that mainly occurs due to internal confusion.
CURLE_HTTP_RANGE_ERROR (int)
CURLE_HTTP_RETURNED_ERROR (int) This is returned if CURLOPT_FAILONERROR is set true and the HTTP server returns an error code that is greater than or equal to 400.
CURLE_LDAP_CANNOT_BIND (int) LDAP cannot bind. LDAP bind operation failed.
CURLE_LDAP_INVALID_URL (int)
CURLE_LDAP_SEARCH_FAILED (int) LDAP search failed.
CURLE_LIBRARY_NOT_FOUND (int)
CURLE_MALFORMAT_USER (int)
CURLE_OBSOLETE (int)
CURLE_OK (int) All fine. Proceed as usual.
CURLE_OPERATION_TIMEDOUT (int) Operation timeout. The specified time-out period was reached according to the conditions.
CURLE_OPERATION_TIMEOUTED (int)
CURLE_OUT_OF_MEMORY (int) A memory allocation request failed.
CURLE_PARTIAL_FILE (int) A file transfer was shorter or larger than expected. This happens when the server first reports an expected transfer size, and then delivers data that does not match the previously given size.
CURLE_PROXY (int) Proxy handshake error. CURLINFO_PROXY_ERROR provides extra details on the specific problem. Available as of PHP 8.2.0 and cURL 7.73.0
CURLE_READ_ERROR (int) There was a problem reading a local file or an error returned by the read callback.
CURLE_RECV_ERROR (int) Failure with receiving network data.
CURLE_SEND_ERROR (int) Failed sending network data.
CURLE_SHARE_IN_USE (int)
CURLE_SSH (int) An unspecified error occurred during the SSH session. Available as of cURL 7.16.1.
CURLE_SSL_CACERT (int)
CURLE_SSL_CACERT_BADFILE (int) Problem with reading the SSL CA cert.
CURLE_SSL_CERTPROBLEM (int) Problem with the local client certificate.
CURLE_SSL_CIPHER (int) Could not use specified cipher.
CURLE_SSL_CONNECT_ERROR (int) A problem occurred somewhere in the SSL/TLS handshake. Reading the message in the error buffer provides more details on the problem. Could be certificates (file formats, paths, permissions), passwords, and others.
CURLE_SSL_ENGINE_NOTFOUND (int) The specified crypto engine was not found.
CURLE_SSL_ENGINE_SETFAILED (int) Failed setting the selected SSL crypto engine as default.
CURLE_SSL_PEER_CERTIFICATE (int)
CURLE_SSL_PINNEDPUBKEYNOTMATCH (int) Failed to match the pinned key specified with CURLOPT_PINNEDPUBLICKEY.
CURLE_TELNET_OPTION_SYNTAX (int)
CURLE_TOO_MANY_REDIRECTS (int) Too many redirects. When following redirects, libcurl hit the maximum amount. The limit can be set with CURLOPT_MAXREDIRS.
CURLE_UNKNOWN_TELNET_OPTION (int)
CURLE_UNSUPPORTED_PROTOCOL (int) The URL passed to libcurl used a protocol that libcurl does not support. The issue might be a compile-time option that was not used, a misspelled protocol string or just a protocol libcurl has no code for.
CURLE_URL_MALFORMAT (int) The URL was not properly formatted.
CURLE_URL_MALFORMAT_USER (int)
CURLE_WEIRD_SERVER_REPLY (int) The server sent data libcurl could not parse. This error code was known as CURLE_FTP_WEIRD_SERVER_REPLY before cURL 7.51.0. Available as of PHP 7.3.0 and cURL 7.51.0
CURLE_WRITE_ERROR (int) An error occurred when writing received data to a local file, or an error was returned to libcurl from a write callback.
add a note

User Contributed Notes 5 notes

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

<?php
$curl_errno
= array(
1 => "CURLE_UNSUPPORTED_PROTOCOL",
2 => "CURLE_FAILED_INIT",
3 => "CURLE_URL_MALFORMAT",
4 => "CURLE_URL_MALFORMAT_USER",
5 => "CURLE_COULDNT_RESOLVE_PROXY",
6 => "CURLE_COULDNT_RESOLVE_HOST",
7 => "CURLE_COULDNT_CONNECT",
8 => "CURLE_FTP_WEIRD_SERVER_REPLY",
9 => "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
9
uramihsayibok, gmail, com
8 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
17
s dot coletta at unidata dot it
14 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
7
Ron
16 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
6 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