2017-09-08 1 views
0

J'utilise Oracle RightNow qui utilise le framework Zend. J'ai le code ci-dessous dans un modèle.PHP Erreur: Échec de l'enregistrement de la fonction - nom en double - curl_init

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"]; 
    } 

Si je l'appelle une fois dans une page, tout va bien. Si je dois l'appeler deux fois, je reçois le texte suivant:

Function registration failed - duplicate name - curl_init 

Je reçois aussi la même chose pour curl_copy_handle, curl_version, curl_setopt, curl_setopt_array etc

Toutes les idées sur la façon de résoudre ce problème?

+0

Que fait la fonction 'load_curl'? Il semble que l'extension Curl est en cours de chargement deux fois. – iainn

Répondre

2

Comme il semble que load_curl initialise ces fonctions, vérifiez d'abord si elles existent, sinon chargez-les.

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