调用未定义的函数cur_init()

时间:2013-09-07 20:44:54

标签: php curl

我已经在stackoverflow和其他地方看到了很多这些 - 通过尝试我可能仍然会收到此错误。

任何方式 - 有用的信息

我试图执行的代码如下

<?php   

    function getOAuthToken ( $grantCode, $grant_type ) {
        global $client_id;
        global $client_secret;
        global $refresh_token;


        try {     
            ini_set('display_errors', '1');
            error_reporting(E_ALL);

            $oauth2token_uri = "https://accounts.google.com/o/oauth2/token";
            $clienttoken_post = array(
                "client_id" => $client_id,
                "client_secret" => $client_secret
                );

            if ($grant_type === "online") {
                $clienttoken_post["code"] = $grantCode;
                $clienttoken_post["redirect_uri"] = $refresh_token;
                $clienttoken_post["grant_type"] = "authorization_code";
            }

            if ($grant_type == "offline") {
                $clienttoken_post["refresh_token"] = $grantCode;
                $clienttoken_post["grant_type"] = "refresh_token";
            }        

            $curl = cur_init($oauth2token_uri);

        }
        catch ( Exception $e ) 
        {
            echo 'Message: ' .$e->getMessage();
        }


    };

    session_start();

    if (isset($_GET['code'])) {    
        try 
        {

            $accessToken = getOAuthToken($_GET['code'],'online');            

        }
        catch (Exception $e)
        {
            echo 'Message: ' .$e->getMessage();
        }
    }  

?>

Windows 7(64位)IIS Express

PHP.INI

执行phpInfo()会提供以下信息。

Php Version 5.3.24

加载配置文件C:\ Program Files(x86)\ php \ php.ini

启用cURL支持 cURL信息7.29.0 3岁 特征 AsynchDNS是的 调试号 GSS-谈判是的 IDN号码 IPv6是的 Largefile是的 NTLM是的 SPNEGO是的 SSL是的 SSPI是的 krb4没有 libz是的 CharConv没有 协议dict,文件,ftp,ftps,gopher,http,https,imap,imaps,ldap,pop3,pop3s,rtsp,scp,sftp,smtp,smtps,telnet,tftp 主机i386-pc-win32 SSL版本OpenSSL / 0.9.8y ZLib版本1.2.7 libSSH版本libssh2 / 1.4.2

执行以下代码;

<?php

 $ci=@curl_version(); $cv=$ci["version_number"]; if($cv) echo "curl
 installed"; else echo "curl is not installed";

?>

显示已安装curl

安装在Windows \ System32 C:\ Windows \ SysWOW64

中的Libcurl.dll(v7.13)

扩展目录以C:\ Program Files(x86)\ php \ v5.3 \ ext

的形式给出

这包含php_curl.dll(版本5.3.24)

在php.ini文件中的行

extension=php_curl.dll

前面没有分号

DLL ssleay32.dll(版本0.9.8y)已复制到c:\ windows \ System32和C:\ Windows \ SysWOW64

DLL libeay32.dll(ver 1.0.1e)已复制到c:\ windows \ System32和c:\ windows \ sysWOW64

我认为这涵盖了我能找到的所有答案,但仍然有“调用未定义函数cur_init()”错误,并且不知道下一步该尝试什么。

1 个答案:

答案 0 :(得分:4)

应该是

$curl = curl_init($oauth2token_uri);

而不是

$curl = cur_init($oauth2token_uri);