CascadiaPHP 2024


(PHP 5 >= 5.5.0, PHP 7, PHP 8)

curl_pausePause and unpause a connection


curl_pause(CurlHandle $handle, int $flags): int

Pause or unpause a cURL session. A session can be paused while a transfer is in progress, in either the read, write or both directions, by calling this function from a callback registered with curl_setopt().



A cURL handle returned by curl_init().


One of CURLPAUSE_* constants.

Return Values

Returns an error code (CURLE_OK for no error).


Version Description
8.0.0 handle expects a CurlHandle instance now; previously, a resource was expected.
add a note

User Contributed Notes 1 note

Alex Autrey
10 years ago

Using this function, you can explicitly mark a running connection to get paused, and you can unpause a connection that was previously paused.

A connection can be paused by using this function or by letting the read or the write callbacks return the proper magic return code (CURL_READFUNC_PAUSE and CURL_WRITEFUNC_PAUSE). A write callback that returns pause signals to the library that it couldn't take care of any data at all, and that data will then be delivered again to the callback when the writing is later unpaused.

NOTE: while it may feel tempting, take care and notice that you cannot call this function from another thread.

When this function is called to unpause reading, the chance is high that you will get your write callback called before this function returns.

The handle argument is of course identifying the handle that operates on the connection you want to pause or unpause.

The bitmask argument is a set of bits that sets the new state of the connection. The following bits can be used:
To Top