Php 如何知道哪个URL在curl\u multi\u exec中失败?

Php 如何知道哪个URL在curl\u multi\u exec中失败?,php,curl,curl-multi,Php,Curl,Curl Multi,我编写了一个类,以便更容易地使用multi-cURL请求。当我遇到404错误或任何其他错误时,我希望记录错误。 我已将CURLOPT\u FAILONERROR设置为true 我目前正在使用curl\u multi\u info\u read() 这是我的代码: $active = null; do { $multi_exec = curl_multi_exec($this->_multi_handle, $active); } while ($multi_

我编写了一个类,以便更容易地使用multi-cURL请求。当我遇到404错误或任何其他错误时,我希望记录错误。 我已将
CURLOPT\u FAILONERROR
设置为true

我目前正在使用
curl\u multi\u info\u read()

这是我的代码:

$active = null;
    do {
        $multi_exec = curl_multi_exec($this->_multi_handle, $active);
    } while ($multi_exec == CURLM_CALL_MULTI_PERFORM);

    while ($active && $multi_exec == CURLM_OK) {
        if (curl_multi_select($this->_multi_handle) != -1) {
            do {
                $multi_exec = curl_multi_exec($this->_multi_handle, $active);
                $info = curl_multi_info_read($this->_multi_handle);
                if ( $info['result'] != 0 ) {
                    $this->_errors[] = $info; // currently storing the whole array
                }
            } while ($multi_exec == CURLM_CALL_MULTI_PERFORM);
        }
    }
出错时的结果是这样的数组:

Array
(
    [0] => Array
        (
            [msg] => 1
            [result] => 22 // on success this is 0
            [handle] => Resource id #4 // does this help in finding the url if I have the handle ID ?
        )
那么,如何获取发生错误的URL呢?这只给我句柄资源ID


提前感谢。

根据您的实际需要,您可以将此句柄传递给或函数以检查错误,并且您可以使用从该句柄提取URL:

curl_getinfo($info['handle'], CURLINFO_EFFECTIVE_URL);