IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

function curl_init() undefined


Sujet :

Langage PHP

  1. #1
    Membre actif Avatar de fahdijbeli
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2012
    Messages : 281
    Points : 240
    Points
    240
    Par défaut function curl_init() undefined
    bonjour,
    voila mon classe qui contient la fonction curl_init :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
     
    <?php
    namespace Customers\CustomersToolsBundle\Service; 
    use \stdClass;
     
    class JSON_RPC_Client  {
    	private $auth;
    	private $url;
    	private $curl = NULL;
     
    	function __construct($url) {
    		$this->url = $url;
    	}
     
    	public function set_auth_credentials($login, $password) {
    		$this->auth = "{$login}:{$password}";
    	}
     
    	public function call() {
    		$params = func_get_args();
    		$method = array_shift($params);
    		$request = $this->_create_request($method, $params);
    		$data = $this->_send_request($request);
    		$response = $this->_parse_response($data, $error);
    		if ($error) {
    			throw new Exception('JSON-RPC error: '.$response->message, $response->code); // use custom Exception
    		}
    		return $response;
    	}
     
    	/* private methods */
    	private function _send_request($request) {
    		if ($this->curl !== NULL) {
    			curl_close($this->curl);
    		}
    		$this->curl = curl_init($this->url);
    		$headers = array(
    			'Expect:', // avoid lighttpd bug
    			'Content-Type: application/json-rpc; charset=utf-8',
    		);
    		curl_setopt($this->curl, CURLOPT_RETURNTRANSFER, TRUE);
    		curl_setopt($this->curl, CURLOPT_FORBID_REUSE, TRUE);
    		curl_setopt($this->curl, CURLOPT_FRESH_CONNECT, TRUE);
    		curl_setopt($this->curl, CURLOPT_HTTPHEADER, $headers);
    		curl_setopt($this->curl, CURLOPT_POST, TRUE);
    		curl_setopt($this->curl, CURLOPT_POSTFIELDS, json_encode($request));
    		curl_setopt($this->curl, CURLOPT_SSL_VERIFYPEER, FALSE);
    		if (!empty($this->auth)) {
    			curl_setopt($this->curl, CURLOPT_USERPWD, $this->auth);
    		}
    		$data = curl_exec($this->curl);
    		if ($data === FALSE) {
    			error_log("[".curl_errno($this->curl)."] ".curl_error($this->curl));
    		}
    		return $data;
    	}
     
    	private function _create_request($method, $params) {
    		$request = new stdClass;
    		$request->id = 42; // or use a random id
    		$request->jsonrpc = '2.0';
    		$request->method = $method;
    		$request->params = $params;
    		return $request;
    	}
     
    	private function _parse_response($data, &$error) {
    		if ($data === FALSE) {
    			throw new Exception('cURL error ['.curl_errno($this->curl).'] '.curl_error($this->curl));
    		}
    		$data = json_decode($data);
    		if (!is_object($data)) {
    			throw new Exception('Parse error: result is not an object.');
    		}
    		if (!property_exists($data, 'result') && !property_exists($data, 'error')) {
    			throw new Exception('Parse error: missing property');
    		}
    		if (property_exists($data, 'error')) {
    			$error = TRUE;
    			return $data->error;
    		}
    		return $data->result;
    	}
    }
    ?>
    voila l'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Fatal error: Call to undefined method Customers\CustomersToolsBundle\Service\JSON_RPC_Client::curl_init() in C:\xampp\htdocs\voip2\src\Customers\CustomersToolsBundle\Service\JSON_RPC_Client.php on line 35
    et merci d'avance.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 78
    Points : 48
    Points
    48
    Par défaut
    Salut salut,

    Il y a des chance que le problème vienne simplement du fait que curl ne soit pas activé sur ton serveur. si ce problème se pose en local tu doit normalement pouvoir l'activer.

    Personnellement, j'utilise Wamp en local. Sur Wamp, pour l'activer il faut faire un clique gauche sur l'icône wamp dans la barre des taches puis aller dans "PHP / PHP extentions" puis choisir "Curl".

  3. #3
    Membre actif Avatar de fahdijbeli
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2012
    Messages : 281
    Points : 240
    Points
    240
    Par défaut
    merci, mais je travaille sur xampp j'ai pas une idée comment activé curl j'essayé de chercher

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Pour vérifier si curl est activé, rien ne vaut un phpinfo(). Si tu n'as aucune ligne qui parle de curl, c'est mauvais signe...
    Pour l'installation, commence par ce qui est indiqué dans la doc, et sinon ben une 'tite recherche pourrait être une bonne idée (t'est probablement pas tout seul...)

  5. #5
    Membre actif Avatar de fahdijbeli
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2012
    Messages : 281
    Points : 240
    Points
    240
    Par défaut
    merci ,j'essaye de faire comme vous avez dit

  6. #6
    Membre actif Avatar de fahdijbeli
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2012
    Messages : 281
    Points : 240
    Points
    240
    Par défaut
    j'ai cherché dans le forum et j'ai trouvé mon probléme avec un autre personne il me dit de faire ça:
    1 - Editer le fichier xampp\apache\bin\php.ini ( situé dans programs files ou autre )

    2 - Edition -> Rechercher
    CURL

    3 - Modifier ceci
    ;extension=php_curl.dll

    Par ceci
    extension=php_curl.dll
    j'ai fait ça mais l'orsque je test mon application voici l'autre erreur il me dit vient de curl_exec()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    int(1345294090) array(2) { [0]=> object(stdClass)#411 (7) { ["hash"]=> string(8) "ZNDJNFLS" ["name"]=> string(17) "TRUNK-ORIGINATION" ["package"]=> object(stdClass)#412 (3) { ["name"]=> string(17) "TRUNK-ORIGINATION" ["type"]=> string(5) "TRUNK" ["has_did"]=> bool(true) } ["did"]=> array(1) { [0]=> object(stdClass)#407 (6) { ["hash"]=> string(8) "CDKHAWIO" ["class"]=> string(7) "CLASSIC" ["type"]=> string(10) "GEOGRAPHIC" ["local_number"]=> string(10) "0184140148" ["intl_number"]=> string(12) "+33184140148" ["country_code"]=> string(2) "FR" } } ["p"]=> object(stdClass)#408 (0) { } ["creation_time"]=> string(19) "2012-05-12 13:14:27" ["update_time"]=> string(19) "2012-05-12 13:14:27" } [1]=> object(stdClass)#409 (7) { ["hash"]=> string(8) "XCNDNJKF" ["name"]=> string(17) "TRUNK-TERMINATION" ["package"]=> object(stdClass)#404 (3) { ["name"]=> string(17) "TRUNK-TERMINATION" ["type"]=> string(5) "TRUNK" ["has_did"]=> bool(false) } ["did"]=> array(0) { } ["p"]=> object(stdClass)#405 (0) { } ["creation_time"]=> string(19) "2012-02-29 19:38:27" ["update_time"]=> string(19) "2012-02-29 19:38:27" } } 
    Fatal error: Maximum execution time of 30 seconds exceeded in C:\xampp\htdocs\voip2\src\Customers\CustomersToolsBundle\Service\JSON_RPC_Client.php on line 50

  7. #7
    Membre régulier Avatar de moogli
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 58
    Points : 102
    Points
    102
    Par défaut
    salut,


    la requete est trop longue, tu ne peux dépasser (par défaut) 30s pour l'exécution complète de ton script.

    il te faut debuger ton script pour voir ce que tu fait exactement comme requete et voir aussi si tu t'arrive pas sur quelque chose qui ne répond pas ou mal


    @+

  8. #8
    Membre actif Avatar de fahdijbeli
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2012
    Messages : 281
    Points : 240
    Points
    240
    Par défaut
    merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 01/10/2012, 22h31
  2. undefined function curl_init()
    Par xouzi dans le forum CodeIgniter
    Réponses: 1
    Dernier message: 30/01/2012, 22h18
  3. GreaseMonkey function GM_xmlhttpRequest undefined
    Par Tilotiti dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 05/02/2009, 04h21
  4. [cURL] Call to undefined function curl_init()
    Par sibboo dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 05/09/2008, 21h25
  5. undefined function: file_get_contents()
    Par camyo dans le forum Langage
    Réponses: 2
    Dernier message: 30/11/2004, 15h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo