使用未定义的常量CURLOPT_POST - 假设为'CURLOPT_POST'

时间:2014-03-28 13:00:06

标签: php apache curl wamp kohana

我正在通过Kohana 3.2发出cURL请求,但在尝试访问CURLOPT_POST常量时出现以下错误:

Use of undefined constant CURLOPT_POST - assumed 'CURLOPT_POST'

来自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;
}

我的申请代码:

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

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

我已使用以下方法测试了curl作为扩展名处于活动状态:

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

这是什么问题?我使用的是Windows 7,PHP 5.4.12和Apache 2.4。

2 个答案:

答案 0 :(得分:7)

首先,让我们通过

检查你的服务器上是否安装了php-curl
aptitude search php-curl

或     aptitude search php5.6-curl

如果还没有安装,请按

进行安装
sudo apt-get install php5.6-curl

答案 1 :(得分:5)

我注意到extension=php_curl.dll已在C:\wamp\bin\php\php5.4.12\php.ini中注释掉了C:\wamp\bin\apache\Apache2.4.4\bin\php.ini,但通过C:\wamp\bin\php\php5.4.12\php.ini有效。

我发现取消注释{{1}}中的行已解决了我的问题。