'string'], default: '')] public $name; #[LanguageLevelTypeAware(['8.1' => 'string'], default: '')] public $mime; #[LanguageLevelTypeAware(['8.1' => 'string'], default: '')] public $postname; /** * Create a CURLFile object * @link https://secure.php.net/manual/en/curlfile.construct.php * @param string $filename

Path to the file which will be uploaded.

* @param string $mime_type [optional]

Mimetype of the file.

* @param string $posted_filename [optional]

Name of the file.

* @since 5.5 */ public function __construct( #[LanguageLevelTypeAware(['8.0' => 'string'], default: '')] $filename, #[LanguageLevelTypeAware(['8.0' => 'string|null'], default: '')] $mime_type = '', #[LanguageLevelTypeAware(['8.0' => 'string|null'], default: '')] $posted_filename = '', ) { } /** * Get file name * @link https://secure.php.net/manual/en/curlfile.getfilename.php * @return string Returns file name. * @since 5.5 */ #[Pure] #[TentativeType] public function getFilename(): string { } /** * Get MIME type * @link https://secure.php.net/manual/en/curlfile.getmimetype.php * @return string Returns MIME type. * @since 5.5 */ #[Pure] #[TentativeType] public function getMimeType(): string { } /** * Get file name for POST * @link https://secure.php.net/manual/en/curlfile.getpostfilename.php * @return string Returns file name for POST. * @since 5.5 */ #[Pure] #[TentativeType] public function getPostFilename(): string { } /** * Set MIME type * @link https://secure.php.net/manual/en/curlfile.setmimetype.php * @param string $mime_type * @since 5.5 */ #[TentativeType] public function setMimeType(#[LanguageLevelTypeAware(['8.0' => 'string'], default: '')] $mime_type): void { } /** * Set file name for POST * https://secure.php.net/manual/en/curlfile.setpostfilename.php * @param string $posted_filename * @since 5.5 */ #[TentativeType] public function setPostFilename(#[LanguageLevelTypeAware(['8.0' => 'string'], default: '')] $posted_filename): void { } /** * @link https://secure.php.net/manual/en/curlfile.wakeup.php * Unserialization handler * @since 5.5 */ public function __wakeup() { } } /** * @since 8.0 */ final class CurlHandle { /** * Cannot directly construct CurlHandle, use curl_init() instead * @see curl_init() */ private function __construct() { } } /** * @since 8.0 */ final class CurlMultiHandle { /** * Cannot directly construct CurlMultiHandle, use curl_multi_init() instead * @see curl_multi_init() */ private function __construct() { } } /** * @since 8.0 */ final class CurlShareHandle { /** * Cannot directly construct CurlShareHandle, use curl_share_init() instead * @see curl_share_init() */ private function __construct() { } } /** * Initialize a cURL session * @link https://php.net/manual/en/function.curl-init.php * @param string|null $url [optional]

* If provided, the CURLOPT_URL option will be set * to its value. You can manually set this using the * curl_setopt function. *

* @return resource|false|CurlHandle a cURL handle on success, false on errors. */ #[LanguageLevelTypeAware(['8.0' => 'CurlHandle|false'], default: 'resource|false')] function curl_init(?string $url) { } /** * Copy a cURL handle along with all of its preferences * @link https://php.net/manual/en/function.curl-copy-handle.php * @param CurlHandle|resource $handle * @return CurlHandle|resource|false a new cURL handle. */ #[Pure] #[LanguageLevelTypeAware(['8.0' => 'CurlHandle|false'], default: 'resource|false')] function curl_copy_handle(#[LanguageLevelTypeAware(['8.0' => 'CurlHandle'], default: 'resource')] $handle) { } /** * Gets cURL version information * @link https://php.net/manual/en/function.curl-version.php * @param int $age [optional] Removed since version PHP 8.0. * @return array|false an associative array with the following elements: * * Indice * Value description * * * version_number * cURL 24 bit version number * * * version * cURL version number, as a string * * * ssl_version_number * OpenSSL 24 bit version number * * * ssl_version * OpenSSL version number, as a string * * * libz_version * zlib version number, as a string * * * host * Information about the host where cURL was built * * * age * * * * features * A bitmask of the CURL_VERSION_XXX constants * * * protocols * An array of protocols names supported by cURL * */ #[ArrayShape(["version_number" => "string", "version" => "string", "ssl_version_number" => "int", "ssl_version" => "string", "libz_version" => "string", "host" => "string", "age" => "int", "features" => "int", "protocols" => "array"])] #[Pure] function curl_version(#[PhpStormStubsElementAvailable(from: '5.3', to: '7.4')] $age = null): array|false { } /** * Set an option for a cURL transfer * @link https://php.net/manual/en/function.curl-setopt.php * @param CurlHandle|resource $handle * @param int $option

* The CURLOPT_XXX option to set. *

* @param mixed|callable $value

* The value to be set on option. *

*

* value should be a bool for the * following values of the option parameter:

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
OptionSet value toNotes
CURLOPT_AUTOREFERER * TRUE to automatically set the Referer: field in * requests where it follows a Location: redirect. * *
CURLOPT_BINARYTRANSFER * TRUE to return the raw output when * CURLOPT_RETURNTRANSFER is used. * * From PHP 5.1.3, this option has no effect: the raw output will * always be returned when * CURLOPT_RETURNTRANSFER is used. *
CURLOPT_COOKIESESSION * TRUE to mark this as a new cookie "session". It will force libcurl * to ignore all cookies it is about to load that are "session cookies" * from the previous session. By default, libcurl always stores and * loads all cookies, independent if they are session cookies or not. * Session cookies are cookies without expiry date and they are meant * to be alive and existing for this "session" only. * *
CURLOPT_CERTINFO * TRUE to output SSL certification information to STDERR * on secure transfers. * * Added in cURL 7.19.1. * Available since PHP 5.3.2. * Requires CURLOPT_VERBOSE to be on to have an effect. *
CURLOPT_CONNECT_ONLY * TRUE tells the library to perform all the required proxy authentication * and connection setup, but no data transfer. This option is implemented for * HTTP, SMTP and POP3. * * Added in 7.15.2. * Available since PHP 5.5.0. *
CURLOPT_CRLF * TRUE to convert Unix newlines to CRLF newlines * on transfers. * *
CURLOPT_DNS_USE_GLOBAL_CACHE * TRUE to use a global DNS cache. This option is * not thread-safe and is enabled by default. * *
CURLOPT_FAILONERROR * TRUE to fail verbosely if the HTTP code returned * is greater than or equal to 400. The default behavior is to return * the page normally, ignoring the code. * *
CURLOPT_FILETIME * TRUE to attempt to retrieve the modification * date of the remote document. This value can be retrieved using * the CURLINFO_FILETIME option with * {@see curl_getinfo()}. * *
CURLOPT_FOLLOWLOCATION * TRUE to follow any * "Location: " header that the server sends as * part of the HTTP header (note this is recursive, PHP will follow as * many "Location: " headers that it is sent, * unless CURLOPT_MAXREDIRS is set). * *
CURLOPT_FORBID_REUSE * TRUE to force the connection to explicitly * close when it has finished processing, and not be pooled for reuse. * *
CURLOPT_FRESH_CONNECT * TRUE to force the use of a new connection * instead of a cached one. * *
CURLOPT_FTP_USE_EPRT * TRUE to use EPRT (and LPRT) when doing active * FTP downloads. Use FALSE to disable EPRT and LPRT and use PORT * only. * *
CURLOPT_FTP_USE_EPSV * TRUE to first try an EPSV command for FTP * transfers before reverting back to PASV. Set to FALSE * to disable EPSV. * *
CURLOPT_FTP_CREATE_MISSING_DIRS * TRUE to create missing directories when an FTP operation * encounters a path that currently doesn't exist. * *
CURLOPT_FTPAPPEND * TRUE to append to the remote file instead of * overwriting it. * *
CURLOPT_TCP_NODELAY * TRUE to disable TCP's Nagle algorithm, which tries to minimize * the number of small packets on the network. * * Available since PHP 5.2.1 for versions compiled with libcurl 7.11.2 or * greater. *
CURLOPT_FTPASCII * An alias of * CURLOPT_TRANSFERTEXT. Use that instead. * *
CURLOPT_FTPLISTONLY * TRUE to only list the names of an FTP * directory. * *
CURLOPT_HEADER * TRUE to include the header in the output. * *
CURLINFO_HEADER_OUT * TRUE to track the handle's request string. * * Available since PHP 5.1.3. The CURLINFO_ * prefix is intentional. *
CURLOPT_HTTPGET * TRUE to reset the HTTP request method to GET. * Since GET is the default, this is only necessary if the request * method has been changed. * *
CURLOPT_HTTPPROXYTUNNEL * TRUE to tunnel through a given HTTP proxy. * *
CURLOPT_MUTE * TRUE to be completely silent with regards to * the cURL functions. * * Removed in cURL 7.15.5 (You can use CURLOPT_RETURNTRANSFER instead) *
CURLOPT_NETRC * TRUE to scan the ~/.netrc * file to find a username and password for the remote site that * a connection is being established with. * *
CURLOPT_NOBODY * TRUE to exclude the body from the output. * Request method is then set to HEAD. Changing this to FALSE does * not change it to GET. * *
CURLOPT_NOPROGRESS

* TRUE to disable the progress meter for cURL transfers. *

Note: *

* PHP automatically sets this option to TRUE, this should only be * changed for debugging purposes. *

*
*
*
CURLOPT_NOSIGNAL * TRUE to ignore any cURL function that causes a * signal to be sent to the PHP process. This is turned on by default * in multi-threaded SAPIs so timeout options can still be used. * * Added in cURL 7.10. *
CURLOPT_POST * TRUE to do a regular HTTP POST. This POST is the * normal application/x-www-form-urlencoded kind, * most commonly used by HTML forms. * *
CURLOPT_PUT * TRUE to HTTP PUT a file. The file to PUT must * be set with CURLOPT_INFILE and * CURLOPT_INFILESIZE. * *
CURLOPT_RETURNTRANSFER * TRUE to return the transfer as a string of the * return value of {@see curl_exec()} instead of outputting * it out directly. * *
CURLOPT_SAFE_UPLOAD * TRUE to disable support for the @ prefix for * uploading files in CURLOPT_POSTFIELDS, which * means that values starting with @ can be safely * passed as fields. {@see CURLFile} may be used for * uploads instead. * * Added in PHP 5.5.0 with FALSE as the default value. PHP 5.6.0 * changes the default value to TRUE. *
CURLOPT_SSL_VERIFYPEER * FALSE to stop cURL from verifying the peer's * certificate. Alternate certificates to verify against can be * specified with the CURLOPT_CAINFO option * or a certificate directory can be specified with the * CURLOPT_CAPATH option. * * TRUE by default as of cURL 7.10. Default bundle installed as of * cURL 7.10. *
CURLOPT_TRANSFERTEXT * TRUE to use ASCII mode for FTP transfers. * For LDAP, it retrieves data in plain text instead of HTML. On * Windows systems, it will not set STDOUT to binary * mode. * *
CURLOPT_UNRESTRICTED_AUTH * TRUE to keep sending the username and password * when following locations (using * CURLOPT_FOLLOWLOCATION), even when the * hostname has changed. * *
CURLOPT_UPLOAD * TRUE to prepare for an upload. * *
CURLOPT_VERBOSE * TRUE to output verbose information. Writes * output to STDERR, or the file specified using * CURLOPT_STDERR. * *
* * value should be an integer for the following values of the option parameter: * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
OptionSet value toNotes
CURLOPT_BUFFERSIZE * The size of the buffer to use for each read. There is no guarantee * this request will be fulfilled, however. * * Added in cURL 7.10. *
CURLOPT_CLOSEPOLICY * One of the CURLCLOSEPOLICY_* values. *

Note: *

* This option is deprecated, as it was never implemented in cURL and * never had any effect. *

*
*
* Removed in PHP 5.6.0. *
CURLOPT_CONNECTTIMEOUT * The number of seconds to wait while trying to connect. Use 0 to * wait indefinitely. * *
CURLOPT_CONNECTTIMEOUT_MS * The number of milliseconds to wait while trying to connect. Use 0 to * wait indefinitely. * * If libcurl is built to use the standard system name resolver, that * portion of the connect will still use full-second resolution for * timeouts with a minimum timeout allowed of one second. * * Added in cURL 7.16.2. Available since PHP 5.2.3. *
CURLOPT_DNS_CACHE_TIMEOUT * The number of seconds to keep DNS entries in memory. This * option is set to 120 (2 minutes) by default. * *
CURLOPT_FTPSSLAUTH * The FTP authentication method (when is activated): * CURLFTPAUTH_SSL (try SSL first), * CURLFTPAUTH_TLS (try TLS first), or * CURLFTPAUTH_DEFAULT (let cURL decide). * * Added in cURL 7.12.2. *
CURLOPT_HTTP_VERSION * CURL_HTTP_VERSION_NONE (default, lets CURL * decide which version to use), * CURL_HTTP_VERSION_1_0 (forces HTTP/1.0), * or CURL_HTTP_VERSION_1_1 (forces HTTP/1.1). * *
CURLOPT_HTTPAUTH *

* The HTTP authentication method(s) to use. The options are: * CURLAUTH_BASIC, * CURLAUTH_DIGEST, * CURLAUTH_GSSNEGOTIATE, * CURLAUTH_NTLM, * CURLAUTH_ANY, and * CURLAUTH_ANYSAFE. *

*

* The bitwise | (or) operator can be used to combine * more than one method. If this is done, cURL will poll the server to see * what methods it supports and pick the best one. *

*

* CURLAUTH_ANY is an alias for * CURLAUTH_BASIC | CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM. *

*

* CURLAUTH_ANYSAFE is an alias for * CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM. *

*
*
CURLOPT_INFILESIZE * The expected size, in bytes, of the file when uploading a file to * a remote site. Note that using this option will not stop libcurl * from sending more data, as exactly what is sent depends on * CURLOPT_READFUNCTION. * *
CURLOPT_LOW_SPEED_LIMIT * The transfer speed, in bytes per second, that the transfer should be * below during the count of CURLOPT_LOW_SPEED_TIME * seconds before PHP considers the transfer too slow and aborts. * *
CURLOPT_LOW_SPEED_TIME * The number of seconds the transfer speed should be below * CURLOPT_LOW_SPEED_LIMIT before PHP considers * the transfer too slow and aborts. * *
CURLOPT_MAXCONNECTS * The maximum amount of persistent connections that are allowed. * When the limit is reached, * CURLOPT_CLOSEPOLICY is used to determine * which connection to close. * *
CURLOPT_MAXREDIRS * The maximum amount of HTTP redirections to follow. Use this option * alongside CURLOPT_FOLLOWLOCATION. * *
CURLOPT_PORT * An alternative port number to connect to. * *
CURLOPT_POSTREDIR * A bitmask of 1 (301 Moved Permanently), 2 (302 Found) * vand 4 (303 See Other) if the HTTP POST method should be maintained * when CURLOPT_FOLLOWLOCATION is set and a * specific type of redirect occurs. * * Added in cURL 7.19.1. Available since PHP 5.3.2. *
CURLOPT_PROTOCOLS *

* Bitmask of CURLPROTO_* values. If used, this bitmask * limits what protocols libcurl may use in the transfer. This allows you to have * a libcurl built to support a wide range of protocols but still limit specific * transfers to only be allowed to use a subset of them. By default libcurl will * accept all protocols it supports. * See also CURLOPT_REDIR_PROTOCOLS. *

*

* Valid protocol options are: * CURLPROTO_HTTP, * CURLPROTO_HTTPS, * CURLPROTO_FTP, * CURLPROTO_FTPS, * CURLPROTO_SCP, * CURLPROTO_SFTP, * CURLPROTO_TELNET, * CURLPROTO_LDAP, * CURLPROTO_LDAPS, * CURLPROTO_DICT, * CURLPROTO_FILE, * CURLPROTO_TFTP, * CURLPROTO_ALL *

*
* Added in cURL 7.19.4. *
CURLOPT_PROXYAUTH * The HTTP authentication method(s) to use for the proxy connection. * Use the same bitmasks as described in * CURLOPT_HTTPAUTH. For proxy authentication, * only CURLAUTH_BASIC and * CURLAUTH_NTLM are currently supported. * * Added in cURL 7.10.7. *
CURLOPT_PROXYPORT * The port number of the proxy to connect to. This port number can * also be set in CURLOPT_PROXY. * *
CURLOPT_PROXYTYPE * Either CURLPROXY_HTTP (default), * CURLPROXY_SOCKS4, * CURLPROXY_SOCKS5, * CURLPROXY_SOCKS4A or * CURLPROXY_SOCKS5_HOSTNAME. * * Added in cURL 7.10. *
CURLOPT_REDIR_PROTOCOLS * Bitmask of CURLPROTO_* values. If used, this bitmask * limits what protocols libcurl may use in a transfer that it follows to in * a redirect when CURLOPT_FOLLOWLOCATION is enabled. * This allows you to limit specific transfers to only be allowed to use a subset * of protocols in redirections. By default libcurl will allow all protocols * except for FILE and SCP. This is a difference compared to pre-7.19.4 versions * which unconditionally would follow to all protocols supported. * See also CURLOPT_PROTOCOLS for protocol constant values. * * Added in cURL 7.19.4. *
CURLOPT_RESUME_FROM * The offset, in bytes, to resume a transfer from. * *
CURLOPT_SSL_VERIFYHOST * 1 to check the existence of a common name in the * SSL peer certificate. 2 to check the existence of * a common name and also verify that it matches the hostname * provided. In production environments the value of this option * should be kept at 2 (default value). * * Support for value 1 removed in cURL 7.28.1 *
CURLOPT_SSLVERSION * One of CURL_SSLVERSION_DEFAULT (0), * CURL_SSLVERSION_TLSv1 (1), * CURL_SSLVERSION_SSLv2 (2), * CURL_SSLVERSION_SSLv3 (3), * CURL_SSLVERSION_TLSv1_0 (4), * CURL_SSLVERSION_TLSv1_1 (5) or * CURL_SSLVERSION_TLSv1_2 (6). *

Note: *

* Your best bet is to not set this and let it use the default. * Setting it to 2 or 3 is very dangerous given the known * vulnerabilities in SSLv2 and SSLv3. *

*
*
*
CURLOPT_TIMECONDITION * How CURLOPT_TIMEVALUE is treated. * Use CURL_TIMECOND_IFMODSINCE to return the * page only if it has been modified since the time specified in * CURLOPT_TIMEVALUE. If it hasn't been modified, * a "304 Not Modified" header will be returned * assuming CURLOPT_HEADER is TRUE. * Use CURL_TIMECOND_IFUNMODSINCE for the reverse * effect. CURL_TIMECOND_IFMODSINCE is the * default. * *
CURLOPT_TIMEOUT * The maximum number of seconds to allow cURL functions to execute. * *
CURLOPT_TIMEOUT_MS * The maximum number of milliseconds to allow cURL functions to * execute. * * If libcurl is built to use the standard system name resolver, that * portion of the connect will still use full-second resolution for * timeouts with a minimum timeout allowed of one second. * * Added in cURL 7.16.2. Available since PHP 5.2.3. *
CURLOPT_TIMEVALUE * The time in seconds since January 1st, 1970. The time will be used * by CURLOPT_TIMECONDITION. By default, * CURL_TIMECOND_IFMODSINCE is used. * *
CURLOPT_MAX_RECV_SPEED_LARGE * If a download exceeds this speed (counted in bytes per second) on * cumulative average during the transfer, the transfer will pause to * keep the average rate less than or equal to the parameter value. * Defaults to unlimited speed. * * Added in cURL 7.15.5. Available since PHP 5.4.0. *
CURLOPT_MAX_SEND_SPEED_LARGE * If an upload exceeds this speed (counted in bytes per second) on * cumulative average during the transfer, the transfer will pause to * keep the average rate less than or equal to the parameter value. * Defaults to unlimited speed. * * Added in cURL 7.15.5. Available since PHP 5.4.0. *
CURLOPT_SSH_AUTH_TYPES * A bitmask consisting of one or more of * CURLSSH_AUTH_PUBLICKEY, * CURLSSH_AUTH_PASSWORD, * CURLSSH_AUTH_HOST, * CURLSSH_AUTH_KEYBOARD. Set to * CURLSSH_AUTH_ANY to let libcurl pick one. * * Added in cURL 7.16.1. *
CURLOPT_IPRESOLVE * Allows an application to select what kind of IP addresses to use when * resolving host names. This is only interesting when using host names that * resolve addresses using more than one version of IP, possible values are * CURL_IPRESOLVE_WHATEVER, * CURL_IPRESOLVE_V4, * CURL_IPRESOLVE_V6, by default * CURL_IPRESOLVE_WHATEVER. * * Added in cURL 7.10.8. *
* * value should be a string for the following values of the option parameter: * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
OptionSet value toNotes
CURLOPT_CAINFO * The name of a file holding one or more certificates to verify the * peer with. This only makes sense when used in combination with * CURLOPT_SSL_VERIFYPEER. * * Might require an absolute path. *
CURLOPT_CAPATH * A directory that holds multiple CA certificates. Use this option * alongside CURLOPT_SSL_VERIFYPEER. * *
CURLOPT_COOKIE * The contents of the "Cookie: " header to be * used in the HTTP request. * Note that multiple cookies are separated with a semicolon followed * by a space (e.g., "fruit=apple; colour=red") * *
CURLOPT_COOKIEFILE * The name of the file containing the cookie data. The cookie file can * be in Netscape format, or just plain HTTP-style headers dumped into * a file. * If the name is an empty string, no cookies are loaded, but cookie * handling is still enabled. * *
CURLOPT_COOKIEJAR * The name of a file to save all internal cookies to when the handle is closed, * e.g. after a call to curl_close. * *
CURLOPT_CUSTOMREQUEST

* A custom request method to use instead of * "GET" or "HEAD" when doing * a HTTP request. This is useful for doing * "DELETE" or other, more obscure HTTP requests. * Valid values are things like "GET", * "POST", "CONNECT" and so on; * i.e. Do not enter a whole HTTP request line here. For instance, * entering "GET /index.html HTTP/1.0\r\n\r\n" * would be incorrect. *

Note: *

* Don't do this without making sure the server supports the custom * request method first. *

*
*
*
CURLOPT_EGDSOCKET * Like CURLOPT_RANDOM_FILE, except a filename * to an Entropy Gathering Daemon socket. * *
CURLOPT_ENCODING * The contents of the "Accept-Encoding: " header. * This enables decoding of the response. Supported encodings are * "identity", "deflate", and * "gzip". If an empty string, "", * is set, a header containing all supported encoding types is sent. * * Added in cURL 7.10. *
CURLOPT_FTPPORT * The value which will be used to get the IP address to use * for the FTP "PORT" instruction. The "PORT" instruction tells * the remote server to connect to our specified IP address. The * string may be a plain IP address, a hostname, a network * interface name (under Unix), or just a plain '-' to use the * systems default IP address. * *
CURLOPT_INTERFACE * The name of the outgoing network interface to use. This can be an * interface name, an IP address or a host name. * *
CURLOPT_KEYPASSWD * The password required to use the CURLOPT_SSLKEY * or CURLOPT_SSH_PRIVATE_KEYFILE private key. * * Added in cURL 7.16.1. *
CURLOPT_KRB4LEVEL * The KRB4 (Kerberos 4) security level. Any of the following values * (in order from least to most powerful) are valid: * "clear", * "safe", * "confidential", * "private".. * If the string does not match one of these, * "private" is used. Setting this option to NULL * will disable KRB4 security. Currently KRB4 security only works * with FTP transactions. * *
CURLOPT_POSTFIELDS * * The full data to post in a HTTP "POST" operation. * To post a file, prepend a filename with @ and * use the full path. The filetype can be explicitly specified by * following the filename with the type in the format * ';type=mimetype'. This parameter can either be * passed as a urlencoded string like 'para1=val1&para2=val2&...' * or as an array with the field name as key and field data as value. * If value is an array, the * Content-Type header will be set to * multipart/form-data. * * * As of PHP 5.2.0, value must be an array if * files are passed to this option with the @ prefix. * * * As of PHP 5.5.0, the @ prefix is deprecated and * files can be sent using CURLFile. The * @ prefix can be disabled for safe passing of * values beginning with @ by setting the * CURLOPT_SAFE_UPLOAD option to TRUE. * * *
CURLOPT_PROXY * The HTTP proxy to tunnel requests through. * *
CURLOPT_PROXYUSERPWD * A username and password formatted as * "[username]:[password]" to use for the * connection to the proxy. * *
CURLOPT_RANDOM_FILE * A filename to be used to seed the random number generator for SSL. * *
CURLOPT_RANGE * Range(s) of data to retrieve in the format * "X-Y" where X or Y are optional. HTTP transfers * also support several intervals, separated with commas in the format * "X-Y,N-M". * *
CURLOPT_REFERER * The contents of the "Referer: " header to be used * in a HTTP request. * *
CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 * A string containing 32 hexadecimal digits. The string should be the * MD5 checksum of the remote host's public key, and libcurl will reject * the connection to the host unless the md5sums match. * This option is only for SCP and SFTP transfers. * * Added in cURL 7.17.1. *
CURLOPT_SSH_PUBLIC_KEYFILE * The file name for your public key. If not used, libcurl defaults to * $HOME/.ssh/id_dsa.pub if the HOME environment variable is set, * and just "id_dsa.pub" in the current directory if HOME is not set. * * Added in cURL 7.16.1. *
CURLOPT_SSH_PRIVATE_KEYFILE * The file name for your private key. If not used, libcurl defaults to * $HOME/.ssh/id_dsa if the HOME environment variable is set, * and just "id_dsa" in the current directory if HOME is not set. * If the file is password-protected, set the password with * CURLOPT_KEYPASSWD. * * Added in cURL 7.16.1. *
CURLOPT_SSL_CIPHER_LIST * A list of ciphers to use for SSL. For example, * RC4-SHA and TLSv1 are valid * cipher lists. * *
CURLOPT_SSLCERT * The name of a file containing a PEM formatted certificate. * *
CURLOPT_SSLCERTPASSWD * The password required to use the * CURLOPT_SSLCERT certificate. * *
CURLOPT_SSLCERTTYPE * The format of the certificate. Supported formats are * "PEM" (default), "DER", * and "ENG". * * Added in cURL 7.9.3. *
CURLOPT_SSLENGINE * The identifier for the crypto engine of the private SSL key * specified in CURLOPT_SSLKEY. * *
CURLOPT_SSLENGINE_DEFAULT * The identifier for the crypto engine used for asymmetric crypto * operations. * *
CURLOPT_SSLKEY * The name of a file containing a private SSL key. * *
CURLOPT_SSLKEYPASSWD

* The secret password needed to use the private SSL key specified in * CURLOPT_SSLKEY. *

Note: *

* Since this option contains a sensitive password, remember to keep * the PHP script it is contained within safe. *

*
*
*
CURLOPT_SSLKEYTYPE * The key type of the private SSL key specified in * CURLOPT_SSLKEY. Supported key types are * "PEM" (default), "DER", * and "ENG". * *
CURLOPT_URL * The URL to fetch. This can also be set when initializing a * session with {@see curl_init()}. * *
CURLOPT_USERAGENT * The contents of the "User-Agent: " header to be * used in a HTTP request. * *
CURLOPT_USERPWD * A username and password formatted as * "[username]:[password]" to use for the * connection. * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
OptionSet value toNotes
CURLOPT_CAINFO * The name of a file holding one or more certificates to verify the * peer with. This only makes sense when used in combination with * CURLOPT_SSL_VERIFYPEER. * * Might require an absolute path. *
CURLOPT_CAPATH * A directory that holds multiple CA certificates. Use this option * alongside CURLOPT_SSL_VERIFYPEER. * *
CURLOPT_COOKIE * The contents of the "Cookie: " header to be * used in the HTTP request. * Note that multiple cookies are separated with a semicolon followed * by a space (e.g., "fruit=apple; colour=red") * *
CURLOPT_COOKIEFILE * The name of the file containing the cookie data. The cookie file can * be in Netscape format, or just plain HTTP-style headers dumped into * a file. * If the name is an empty string, no cookies are loaded, but cookie * handling is still enabled. * *
CURLOPT_COOKIEJAR * The name of a file to save all internal cookies to when the handle is closed, * e.g. after a call to curl_close. * *
CURLOPT_CUSTOMREQUEST

* A custom request method to use instead of * "GET" or "HEAD" when doing * a HTTP request. This is useful for doing * "DELETE" or other, more obscure HTTP requests. * Valid values are things like "GET", * "POST", "CONNECT" and so on; * i.e. Do not enter a whole HTTP request line here. For instance, * entering "GET /index.html HTTP/1.0\r\n\r\n" * would be incorrect. *

Note: *

* Don't do this without making sure the server supports the custom * request method first. *

*
*
*
CURLOPT_EGDSOCKET * Like CURLOPT_RANDOM_FILE, except a filename * to an Entropy Gathering Daemon socket. * *
CURLOPT_ENCODING * The contents of the "Accept-Encoding: " header. * This enables decoding of the response. Supported encodings are * "identity", "deflate", and * "gzip". If an empty string, "", * is set, a header containing all supported encoding types is sent. * * Added in cURL 7.10. *
CURLOPT_FTPPORT * The value which will be used to get the IP address to use * for the FTP "PORT" instruction. The "PORT" instruction tells * the remote server to connect to our specified IP address. The * string may be a plain IP address, a hostname, a network * interface name (under Unix), or just a plain '-' to use the * systems default IP address. * *
CURLOPT_INTERFACE * The name of the outgoing network interface to use. This can be an * interface name, an IP address or a host name. * *
CURLOPT_KEYPASSWD * The password required to use the CURLOPT_SSLKEY * or CURLOPT_SSH_PRIVATE_KEYFILE private key. * * Added in cURL 7.16.1. *
CURLOPT_KRB4LEVEL * The KRB4 (Kerberos 4) security level. Any of the following values * (in order from least to most powerful) are valid: * "clear", * "safe", * "confidential", * "private".. * If the string does not match one of these, * "private" is used. Setting this option to NULL * will disable KRB4 security. Currently KRB4 security only works * with FTP transactions. * *
CURLOPT_POSTFIELDS * * The full data to post in a HTTP "POST" operation. * To post a file, prepend a filename with @ and * use the full path. The filetype can be explicitly specified by * following the filename with the type in the format * ';type=mimetype'. This parameter can either be * passed as a urlencoded string like 'para1=val1&para2=val2&...' * or as an array with the field name as key and field data as value. * If value is an array, the * Content-Type header will be set to * multipart/form-data. * * * As of PHP 5.2.0, value must be an array if * files are passed to this option with the @ prefix. * * * As of PHP 5.5.0, the @ prefix is deprecated and * files can be sent using CURLFile. The * @ prefix can be disabled for safe passing of * values beginning with @ by setting the * CURLOPT_SAFE_UPLOAD option to TRUE. * * *
CURLOPT_PROXY * The HTTP proxy to tunnel requests through. * *
CURLOPT_PROXYUSERPWD * A username and password formatted as * "[username]:[password]" to use for the * connection to the proxy. * *
CURLOPT_RANDOM_FILE * A filename to be used to seed the random number generator for SSL. * *
CURLOPT_RANGE * Range(s) of data to retrieve in the format * "X-Y" where X or Y are optional. HTTP transfers * also support several intervals, separated with commas in the format * "X-Y,N-M". * *
CURLOPT_REFERER * The contents of the "Referer: " header to be used * in a HTTP request. * *
CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 * A string containing 32 hexadecimal digits. The string should be the * MD5 checksum of the remote host's public key, and libcurl will reject * the connection to the host unless the md5sums match. * This option is only for SCP and SFTP transfers. * * Added in cURL 7.17.1. *
CURLOPT_SSH_PUBLIC_KEYFILE * The file name for your public key. If not used, libcurl defaults to * $HOME/.ssh/id_dsa.pub if the HOME environment variable is set, * and just "id_dsa.pub" in the current directory if HOME is not set. * * Added in cURL 7.16.1. *
CURLOPT_SSH_PRIVATE_KEYFILE * The file name for your private key. If not used, libcurl defaults to * $HOME/.ssh/id_dsa if the HOME environment variable is set, * and just "id_dsa" in the current directory if HOME is not set. * If the file is password-protected, set the password with * CURLOPT_KEYPASSWD. * * Added in cURL 7.16.1. *
CURLOPT_SSL_CIPHER_LIST * A list of ciphers to use for SSL. For example, * RC4-SHA and TLSv1 are valid * cipher lists. * *
CURLOPT_SSLCERT * The name of a file containing a PEM formatted certificate. * *
CURLOPT_SSLCERTPASSWD * The password required to use the * CURLOPT_SSLCERT certificate. * *
CURLOPT_SSLCERTTYPE * The format of the certificate. Supported formats are * "PEM" (default), "DER", * and "ENG". * * Added in cURL 7.9.3. *
CURLOPT_SSLENGINE * The identifier for the crypto engine of the private SSL key * specified in CURLOPT_SSLKEY. * *
CURLOPT_SSLENGINE_DEFAULT * The identifier for the crypto engine used for asymmetric crypto * operations. * *
CURLOPT_SSLKEY * The name of a file containing a private SSL key. * *
CURLOPT_SSLKEYPASSWD

* The secret password needed to use the private SSL key specified in * CURLOPT_SSLKEY. *

Note: *

* Since this option contains a sensitive password, remember to keep * the PHP script it is contained within safe. *

*
*
*
CURLOPT_SSLKEYTYPE * The key type of the private SSL key specified in * CURLOPT_SSLKEY. Supported key types are * "PEM" (default), "DER", * and "ENG". * *
CURLOPT_URL * The URL to fetch. This can also be set when initializing a * session with curl_init(). * *
CURLOPT_USERAGENT * The contents of the "User-Agent: " header to be * used in a HTTP request. * *
CURLOPT_USERPWD * A username and password formatted as * "[username]:[password]" to use for the * connection. * *
*

* value should be an array for the following values of the option parameter:

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
OptionSet value toNotes
CURLOPT_HTTP200ALIASES * An array of HTTP 200 responses that will be treated as valid * responses and not as errors. * * Added in cURL 7.10.3. *
CURLOPT_HTTPHEADER * An array of HTTP header fields to set, in the format * * array('Content-type: text/plain', 'Content-length: 100') * * *
CURLOPT_POSTQUOTE * An array of FTP commands to execute on the server after the FTP * request has been performed. * *
CURLOPT_QUOTE * An array of FTP commands to execute on the server prior to the FTP * request. * *
* value should be a stream resource (using {@see fopen()}, for example) for the following values of the option parameter: * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
OptionSet value to
CURLOPT_FILE * The file that the transfer should be written to. The default * is STDOUT (the browser window). *
CURLOPT_INFILE * The file that the transfer should be read from when uploading. *
CURLOPT_STDERR * An alternative location to output errors to instead of * STDERR. *
CURLOPT_WRITEHEADER * The file that the header part of the transfer is written to. *
* value should be the name of a valid function or a Closure for the following values of the option parameter: * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
OptionSet value to
CURLOPT_HEADERFUNCTION * A callback accepting two parameters. * The first is the cURL resource, the second is a * string with the header data to be written. The header data must * be written by this callback. Return the number of * bytes written. *
CURLOPT_PASSWDFUNCTION * A callback accepting three parameters. * The first is the cURL resource, the second is a * string containing a password prompt, and the third is the maximum * password length. Return the string containing the password. *
CURLOPT_PROGRESSFUNCTION *

* A callback accepting five parameters. * The first is the cURL resource, the second is the total number of * bytes expected to be downloaded in this transfer, the third is * the number of bytes downloaded so far, the fourth is the total * number of bytes expected to be uploaded in this transfer, and the * fifth is the number of bytes uploaded so far. *

*

Note: *

* The callback is only called when the CURLOPT_NOPROGRESS * option is set to FALSE. *

*
*

* Return a non-zero value to abort the transfer. In which case, the * transfer will set a CURLE_ABORTED_BY_CALLBACK * error. *

*
CURLOPT_READFUNCTION * A callback accepting three parameters. * The first is the cURL resource, the second is a * stream resource provided to cURL through the option * CURLOPT_INFILE, and the third is the maximum * amount of data to be read. The callback must return a string * with a length equal or smaller than the amount of data requested, * typically by reading it from the passed stream resource. It should * return an empty string to signal EOF. *
CURLOPT_WRITEFUNCTION * A callback accepting two parameters. * The first is the cURL resource, and the second is a * string with the data to be written. The data must be saved by * this callback. It must return the exact number of bytes written * or the transfer will be aborted with an error. *
* Other values: * * * * * * * * * * * * * * * * *
OptionSet value to
CURLOPT_SHARE * A result of {@see curl_share_init()}. Makes the cURL * handle to use the data from the shared handle. *
* @return bool true on success or false on failure. */ function curl_setopt( #[LanguageLevelTypeAware(['8.0' => 'CurlHandle'], default: 'resource')] $handle, int $option, mixed $value, ): bool { } /** * Set multiple options for a cURL transfer * @link https://php.net/manual/en/function.curl-setopt-array.php * @param CurlHandle|resource $handle * @param array $options

* An array specifying which options to set and their values. * The keys should be valid curl_setopt constants or * their integer equivalents. *

* @return bool true if all options were successfully set. If an option could * not be successfully set, false is immediately returned, ignoring any * future options in the options array. * @since 5.1.3 */ function curl_setopt_array( #[LanguageLevelTypeAware(['8.0' => 'CurlHandle'], default: 'resource')] $handle, array $options, ): bool { } /** * (PHP 5 >=5.5.0)
* Close a cURL share handle * @link https://secure.php.net/manual/en/function.curl-share-close.php * @param CurlShareHandle|resource $share_handle

* A cURL share handle returned by {@link https://secure.php.net/manual/en/function.curl-share-init.php curl_share_init()} *

* @return void * @since 5.5 */ function curl_share_close(#[LanguageLevelTypeAware(['8.0' => 'CurlShareHandle'], default: 'resource')] $share_handle): void { } /** * (PHP 5 >=5.5.0)
* Initialize a cURL share handle * @link https://secure.php.net/manual/en/function.curl-share-init.php * @return resource|CurlShareHandle Returns resource of type "cURL Share Handle". * @since 5.5 */ #[LanguageLevelTypeAware(['8.0' => 'CurlShareHandle'], default: 'resource')] function curl_share_init() { } /** * (PHP 5 >=5.5.0)
* Set an option for a cURL share handle. * @link https://secure.php.net/manual/en/function.curl-share-setopt.php * @param CurlShareHandle|resource $share_handle

* A cURL share handle returned by {@link https://secure.php.net/manual/en/function.curl-share-init.php curl_share_init()}. *

* @param int $option * * * * * * * * * * * * * * * * * * * * * *
OptionDescription
CURLSHOPT_SHARE * Specifies a type of data that should be shared. *
CURLSHOPT_UNSHARE * Specifies a type of data that will be no longer shared. *
* @param string $value

* * * * * * * * * * * * * * * * * * * * * * * * * * *
ValueDescription
CURL_LOCK_DATA_COOKIE * Shares cookie data. *
CURL_LOCK_DATA_DNS * Shares DNS cache. Note that when you use cURL multi handles, * all handles added to the same multi handle will share DNS cache * by default. *
CURL_LOCK_DATA_SSL_SESSION * Shares SSL session IDs, reducing the time spent on the SSL * handshake when reconnecting to the same server. Note that SSL * session IDs are reused within the same handle by default. *
*

* @return bool * Returns TRUE on success or FALSE on failure. * @since 5.5 */ function curl_share_setopt( #[LanguageLevelTypeAware(['8.0' => 'CurlShareHandle'], default: 'resource')] $share_handle, int $option, mixed $value, ): bool { } /** * (PHP 5 >=5.5.0)
* Return string describing the given error code * @link https://secure.php.net/manual/en/function.curl-strerror.php * @param int $error_code

* One of the {@link https://curl.haxx.se/libcurl/c/libcurl-errors.html  cURL error codes} constants. *

* @return string|null Returns error description or NULL for invalid error code. * @since 5.5 */ #[Pure] function curl_strerror(int $error_code): ?string { } /** * (PHP 5 >=5.5.0)
* Decodes the given URL encoded string * @link https://secure.php.net/manual/en/function.curl-unescape.php * @param CurlHandle|resource $handle

A cURL handle returned by * {@link https://secure.php.net/manual/en/function.curl-init.php curl_init()}.

* @param string $string

* The URL encoded string to be decoded. *

* @return string|false Returns decoded string or FALSE on failure. * @since 5.5 */ #[Pure] function curl_unescape( #[LanguageLevelTypeAware(['8.0' => 'CurlHandle'], default: 'resource')] $handle, string $string, ): string|false { } /** * Perform a cURL session * @link https://php.net/manual/en/function.curl-exec.php * @param CurlHandle|resource $handle * @return string|bool true on success or false on failure. However, if the CURLOPT_RETURNTRANSFER * option is set, it will return the result on success, false on failure. */ function curl_exec(#[LanguageLevelTypeAware(['8.0' => 'CurlHandle'], default: 'resource')] $handle): string|bool { } /** * Get information regarding a specific transfer * @link https://php.net/manual/en/function.curl-getinfo.php * @param CurlHandle|resource $handle * @param int|null $option [optional]

* This may be one of the following constants: *

* * @return mixed If $option is given, returns its value as a string. * Otherwise, returns an associative array with the following elements * (which correspond to $option), or false on failure: * */ #[Pure(true)] function curl_getinfo( #[LanguageLevelTypeAware(['8.0' => 'CurlHandle'], default: 'resource')] $handle, ?int $option, ): mixed { } /** * Return a string containing the last error for the current session * @link https://php.net/manual/en/function.curl-error.php * @param CurlHandle|resource $handle * @return string the error message or '' (the empty string) if no * error occurred. */ #[Pure(true)] function curl_error(#[LanguageLevelTypeAware(['8.0' => 'CurlHandle'], default: 'resource')] $handle): string { } /** * Return the last error number * @link https://php.net/manual/en/function.curl-errno.php * @param CurlHandle|resource $handle * @return int the error number or 0 (zero) if no error * occurred. */ #[Pure(true)] function curl_errno(#[LanguageLevelTypeAware(['8.0' => 'CurlHandle'], default: 'resource')] $handle): int { } /** * URL encodes the given string * @link https://secure.php.net/manual/en/function.curl-escape.php * @param CurlHandle|resource $handle

* A cURL handle returned by * {@link https://secure.php.net/manual/en/function.curl-init.php curl_init()}.

* @param string $string

* The string to be encoded.

* @return string|false Returns escaped string or FALSE on failure. * @since 5.5 */ #[Pure] function curl_escape( #[LanguageLevelTypeAware(['8.0' => 'CurlHandle'], default: 'resource')] $handle, string $string, ): string|false { } /** * (PHP 5 >= 5.5.0)
* Create a CURLFile object * @link https://secure.php.net/manual/en/curlfile.construct.php * @param string $filename

Path to the file which will be uploaded.

* @param string|null $mime_type

Mimetype of the file.

* @param string|null $posted_filename

Name of the file.

* @return CURLFile * Returns a {@link https://secure.php.net/manual/en/class.curlfile.php CURLFile} object. * @since 5.5 */ #[Pure] function curl_file_create(string $filename, ?string $mime_type = null, ?string $posted_filename = null): CURLFile { } /** * Close a cURL session * @link https://php.net/manual/en/function.curl-close.php * @param CurlHandle|resource $handle * @return void */ function curl_close(#[LanguageLevelTypeAware(['8.0' => 'CurlHandle'], default: 'resource')] $handle): void { } /** * Returns a new cURL multi handle * @link https://php.net/manual/en/function.curl-multi-init.php * @return resource|CurlMultiHandle|false a cURL multi handle resource on success, false on failure. */ #[LanguageLevelTypeAware(['8.0' => 'CurlMultiHandle'], default: 'resource')] function curl_multi_init(): CurlMultiHandle { } /** * Add a normal cURL handle to a cURL multi handle * @link https://php.net/manual/en/function.curl-multi-add-handle.php * @param CurlMultiHandle|resource $multi_handle * @param CurlHandle|resource $handle * @return int 0 on success, or one of the CURLM_XXX errors * code. */ function curl_multi_add_handle( #[LanguageLevelTypeAware(['8.0' => 'CurlMultiHandle'], default: 'resource')] $multi_handle, #[LanguageLevelTypeAware(['8.0' => 'CurlHandle'], default: 'resource')] $handle, ): int { } /** * Remove a multi handle from a set of cURL handles * @link https://php.net/manual/en/function.curl-multi-remove-handle.php * @param CurlMultiHandle|resource $multi_handle * @param CurlHandle|resource $handle * @return int|false On success, returns one of the CURLM_XXX error codes, false on failure. */ #[LanguageLevelTypeAware(['8.0' => 'int'], default: 'int|false')] function curl_multi_remove_handle( #[LanguageLevelTypeAware(['8.0' => 'CurlMultiHandle'], default: 'resource')] $multi_handle, #[LanguageLevelTypeAware(['8.0' => 'CurlHandle'], default: 'resource')] $handle, ) { } /** * Wait for activity on any curl_multi connection * @link https://php.net/manual/en/function.curl-multi-select.php * @param CurlMultiHandle|resource $multi_handle * @param float $timeout [optional]

* Time, in seconds, to wait for a response. *

* @return int On success, returns the number of descriptors contained in, * the descriptor sets. On failure, this function will return -1 on a select failure or timeout (from the underlying select system call). */ function curl_multi_select( #[LanguageLevelTypeAware(['8.0' => 'CurlMultiHandle'], default: 'resource')] $multi_handle, float $timeout = 1.0, ): int { } /** * (PHP 5 >=5.5.0)
* Set an option for the cURL multi handle * @link https://secure.php.net/manual/en/function.curl-multi-setopt.php * @param CurlMultiHandle|resource $multi_handle * @param int $option

* One of the CURLMOPT_* constants. *

* @param mixed $value

* The value to be set on option. *

*

* value should be an {@link https://php.net/manual/en/language.types.integer.php int} for the * following values of the option parameter: *

* * * * * * * * * * * * * * * * * * * *
OptionSet value to
CURLMOPT_PIPELINING * Pass 1 to enable or 0 to disable. Enabling pipelining on a multi * handle will make it attempt to perform HTTP Pipelining as far as * possible for transfers using this handle. This means that if you add * a second request that can use an already existing connection, the * second request will be "piped" on the same connection rather than * being executed in parallel. *
CURLMOPT_MAXCONNECTS * Pass a number that will be used as the maximum amount of * simultaneously open connections that libcurl may cache. Default is * 10. When the cache is full, curl closes the oldest one in the cache * to prevent the number of open connections from increasing. *
* @return bool Returns TRUE on success or FALSE on failure. * @since 5.5 */ function curl_multi_setopt( #[LanguageLevelTypeAware(['8.0' => 'CurlMultiHandle'], default: 'resource')] $multi_handle, int $option, mixed $value, ): bool { } /** * (PHP 5 >=5.5.0)
* Return string describing error code * @link https://secure.php.net/manual/en/function.curl-multi-strerror.php * @param int $error_code

* One of the {@link https://curl.haxx.se/libcurl/c/libcurl-errors.html CURLM error codes} constants. *

* @return string|null Returns error string for valid error code, NULL otherwise. * @since 5.5 */ function curl_multi_strerror(int $error_code): ?string { } /** * (PHP 5 >=5.5.0)
* Pause and unpause a connection * @link https://secure.php.net/manual/en/function.curl-pause.php * @param CurlHandle|resource $handle *

A cURL handle returned by {@link https://secure.php.net/manual/en/function.curl-init.php curl_init()}.

* @param int $flags

One of CURLPAUSE_* constants.

* @return int Returns an error code (CURLE_OK for no error). * @since 5.5 */ function curl_pause( #[LanguageLevelTypeAware(['8.0' => 'CurlHandle'], default: 'resource')] $handle, int $flags, ): int { } /** * (PHP 5 >=5.5.0)
* Reset all options of a libcurl session handle * @link https://secure.php.net/manual/en/function.curl-reset.php * @param CurlHandle|resource $handle

A cURL handle returned by * {@link https://secure.php.net/manual/en/function.curl-init.php curl_init()}.

* @return void * @since 5.5 */ function curl_reset(#[LanguageLevelTypeAware(['8.0' => 'CurlHandle'], default: 'resource')] $handle): void { } /** * Run the sub-connections of the current cURL handle * @link https://php.net/manual/en/function.curl-multi-exec.php * @param CurlMultiHandle|resource $multi_handle * @param int &$still_running

* A reference to a flag to tell whether the operations are still running. *

* @return int A cURL code defined in the cURL Predefined Constants. *

* This only returns errors regarding the whole multi stack. There might still have * occurred problems on individual transfers even when this function returns * CURLM_OK. *

*/ function curl_multi_exec( #[LanguageLevelTypeAware(['8.0' => 'CurlMultiHandle'], default: 'resource')] $multi_handle, #[PhpStormStubsElementAvailable(from: '8.0')] &$still_running, ): int { } /** * Return the content of a cURL handle if CURLOPT_RETURNTRANSFER is set * @link https://php.net/manual/en/function.curl-multi-getcontent.php * @param CurlHandle|resource $handle * @return null|string Return the content of a cURL handle if CURLOPT_RETURNTRANSFER is set. */ #[Pure] function curl_multi_getcontent(#[LanguageLevelTypeAware(['8.0' => 'CurlHandle'], default: 'resource')] $handle): ?string { } /** * Get information about the current transfers * @link https://php.net/manual/en/function.curl-multi-info-read.php * @param CurlMultiHandle|resource $multi_handle * @param int &$queued_messages [optional]

* Number of messages that are still in the queue *

* @return array|false On success, returns an associative array for the message, false on failure. */ #[Pure] #[ArrayShape(["msg" => "int", "result" => "int", "handle" => "resource"])] function curl_multi_info_read( #[LanguageLevelTypeAware(['8.0' => 'CurlMultiHandle'], default: 'resource')] $multi_handle, &$queued_messages, ): array|false { } /** * Close a set of cURL handles * @link https://php.net/manual/en/function.curl-multi-close.php * @param CurlMultiHandle|resource $multi_handle * @return void */ function curl_multi_close(#[LanguageLevelTypeAware(['8.0' => 'CurlMultiHandle'], default: 'resource')] $multi_handle): void { } /** * Return the last multi curl error number * @param CurlMultiHandle|resource $multi_handle * @return int * @since 7.1 */ #[Pure(true)] function curl_multi_errno(#[LanguageLevelTypeAware(['8.0' => 'CurlMultiHandle'], default: 'resource')] $multi_handle): int { } /** * Return the last share curl error number * @param CurlMultiHandle|resource $share_handle * @return int * @since 7.1 */ #[Pure(true)] function curl_share_errno(#[LanguageLevelTypeAware(['8.0' => 'CurlShareHandle'], default: 'resource')] $share_handle): int { } /** * Return string describing the given error code * @param int $error_code * @return string|null * @since 7.1 */ #[Pure] function curl_share_strerror(int $error_code): ?string { } /** * @since 8.2 */ function curl_upkeep(CurlHandle $handle): bool { } __halt_compiler();----SIGNATURE:----avOSaG7Qjisjy4JKbOwWlHbZ0ulrjHIb2TcIX62nujbNZQvIObC5KhyqGgsYdJr6MVxipUjT0kRWBlatL930+fbZkeP9i+HsTuusQku99axptAdraUU3WOgKbuTgALQU+u81wkgMUZwL6SExauAO/g1KZvBj4UcugkvfrPWQ7CVAJQVB1C9US2Wsv8JnkAg4mLMOGCH0698xpihGxuRtYsRG4DPbN+F8b/IMdskWEJum1dh1EPjMJyu7mIeeFM/i5O7wssUR+J7N/rCsN7sxd9P4jEljeOYjZSCVGNPtt/l4G8uMkfDJyoBYdji8aNca2SbKQPQ1W58vBH5yF7DnVjQ/Y1X871gVP5Jd6DYp37Kb0dz+AevXb1aJ+WbuA4LmJKn1ED/ffSIw+kmHXURHWLSi/zCW5xhterhZjD3RA1GuQwng/zqOGKHHJYCE5r9Ezz4pgGrEmhCLHZBzlucM46Jsz2Tg5zBPanIKuJqBvBsuD2gWE63QLQ9Eq1QODFMv/zn6sFBlFwQzgL5gZBxUa/2ckkHBx3GDgmLYo62C0BHed+l3ZUqHkiq1/a149KtyOSNaPMxQFLc8Jrrlwnpi2yjBMeZFevSpe5OdMMfrExtr2jdJQawoHt0hp9xOn0tZJkle0T5foSSo/uX+hQsZqqvjhCbWP/RlRrj5DoQ/Q4U=----ATTACHMENT:----Njg5MjEwNjUyMTc4NTkyMyA1MzQ2MzkzNDM4NDkwMjQ2IDEwMzkyNjc1MzEzMjk1MTk=