PHP错误:函数注册失败 - 重复名称 - curl_init

时间:2017-09-08 13:22:38

标签: php model-view-controller zend-framework

我使用的是使用Zend框架的Oracle RightNow。我在模型中有以下代码。

function getTicketAvailability($id){
        \load_curl();
         $url = "https://www.eventbriteapi.com/v3/events/".$id."/ticket_classes/?token=XXXXXXXXXXXX";
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_VERBOSE, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        $body = \curl_exec($ch);
        curl_close($ch);
        $json = \json_decode($body,true);
        return $json["ticket_classes"][0]["on_sale_status"];
    }

如果我在一个页面中调用一次,一切都很好。如果我必须打两次电话,我会得到以下信息:

Function registration failed - duplicate name - curl_init

我对curl_copy_handle,curl_version,curl_setopt,curl_setopt_array等也有同样的看法

有关如何解决此问题的任何想法?

1 个答案:

答案 0 :(得分:2)

因为似乎load_curl初始化了这些函数,所以首先检查它们是否存在,如果没有加载它。

if (!function_exists("\curl_init"))
{
    \load_curl();
}