L'utilisation de undefined constant CURLOPT_POST - supposé 'CURLOPT_POST'

Je fais une demande cURL via Kohana 3.2 mais j'obtiens l'erreur suivante lorsqu'il tente d'accéder CURLOPT_POST constante:

Use of undefined constant CURLOPT_POST - assumed 'CURLOPT_POST'

De Kohana 3.2 system/classes/kohana/request/client/curl.php

public function _set_curl_request_method(Request $request, array $options)
{
    switch ($request->method()) {
        case Request::POST:
            $options[CURLOPT_POST] = TRUE;
            break;
        case Request::PUT:
            $options[CURLOPT_PUT] = TRUE;
            break;
        default:
            $options[CURLOPT_CUSTOMREQUEST] = $request->method();
            break;
    }
    return $options;
}

Mon code d'application:

$request = Request::factory($uri);
$request->query('key', $key);
$request->post($params);
$request->method(Request::POST);

//fails here
$response = $request->execute();

J'ai testé que curl est actif comme une extension à l'aide:

if (in_array  ('curl', get_loaded_extensions()))
{
    echo '1';
}
else
{
    echo '0';
}

Quel est le problème ici? Je suis avec Windows 7, PHP 5.4.12, et Apache 2.4.

  • Pouvez-vous montrer le morceau de code où vous êtes réellement en utilisant CURLOPT_POST?
  • Ajouté le code de mon post
  • Avez-vous déjà un acutal appel à toute de la boucle de la fonction dans votre script? Celui qui ferait php renflouer avec undefined function curl_.... si l'extension curl n'est pas disponible? Si non (ou incertain) mieux double-vérifier, via la fonction phpinfo(), extension_loaded ("curl"), ...
  • Non, pouvez-vous montrer le code où vous l'demande? Le code que vous avez posté est un extrait de l'Kohana de la bibliothèque. Êtes-vous en faisant la demande par l'entremise de l'usine? si oui, comment? montrent que la partie du code.. par exemple $request = Request::factory($url)->method('POST')->post('key', 'value');
  • Je sais que c'est tôt et tout, mais n'est-ce pas le comportement attendu d'un non cotées clé du tableau?
  • C'est la façon dont vous définissez curl options (voir le manuel)
  • c'est une constante définie par l'extension curl, voir docs.php.net/constants
  • ajouté le code de l'application
  • mais dans ce contexte, il est utilisé comme une clé du tableau pour un tableau créé par le kohana bibliothèque... il n'est pas utilisé directement pour régler l'option. Je comprends comment curl fonctionne.
  • Voir mon lien, ils l'utilisent comme une non cotées clé dans le manuel ainsi
  • Vous confondez les littéraux de chaîne et constantes, docs.php.net/manual/en/language.types.array dit "Remarque: Cela ne signifie pas pour toujours citer les principaux. Ne pas indiquer les touches, qui sont des constantes ou des variables, car cela permettra d'éviter PHP à partir de l'interprétation."
  • Je comprends que cette partie, de la regarder, j'étais juste confus quant à savoir si ce tableau $options a été transmis directement comme paramètre de roulage ou si c'était un tableau de disponible curl paramètres à l'intérieur de kohana. J'espère qu'un sens. Je implicitement comprendre la différence entre la chaîne des clés et des constantes, j'ai juste mal interprété le code posté, je suppose.

InformationsquelleAutor xylar | 2014-03-28