我已经在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()”错误,并且不知道下一步该尝试什么。
答案 0 :(得分:4)
应该是
$curl = curl_init($oauth2token_uri);
而不是
$curl = cur_init($oauth2token_uri);