PHP RFC: Add curl_multi_errno(), curl_share_errno() and curl_share_strerror()
- Version: 0.9
- Date: 2016-04-29
- Author: Pierrick Charron pierrick@php.net
- Status: Implemented (PHP 7.1)
- First Published at: https://wiki.php.net/rfc/new-curl-error-functions
Introduction
The ext/curl extension define 3 different resource types :
- cURL handle created by php curl_init()
- cURL Multi Handle created by curl_multi_init()
- cURL Share Handle created by curl_share_init()
As of today, it's possible to get the last error related to a cURL handle with the curl_errno() function, but there is no way to retrieve what was the last error related to a cURL Multi/Share handle.
Proposal
Add curl_multi_errno(), curl_share_errno() and curl_share_strerror() functions to get a consistent mechanism of error retrieval across all curl resource types.
Resource type | init function | last error | error message |
---|---|---|---|
cURL handle | curl_init() | curl_errno() | curl_strerror() |
cURL Multi Handle | curl_multi_init() | curl_multi_errno() | curl_multi_strerror() |
cURL Share Handle | curl_share_init() | curl_share_errno() | curl_share_strerror() |
Functions in bold are the one that do not exists and that are be introduced in this RFC.
Functions signature
int curl_multi_errno(resource $mh); int curl_share_errno(resource $rh); string curl_share_strerror(int $errno);
Backward Incompatible Changes
None.
Proposed PHP Version(s)
7.1
Vote
Simple 50% +1 majority: “Should those functions be added in 7.1”. The voting began on Jun 9 and will close on Jun 23.
Patches and Tests
Implementation
Merged into php-src for PHP 7.1: https://github.com/php/php-src/commit/3d71c1de7af6f41653addb7bb75dd37adc4e87b0
Documented: http://svn.php.net/viewvc/?view=revision&revision=342910