php - 在 WAMP 服务器 3 中调用未定义的函数 curl_init()
问题描述
我已经在 StackOverflow 中挖掘了几个小时,但我仍然无法解决这个问题:(
我想使用 Curl 发出 POST 请求以获取 Auth 令牌,但即使我:
- 确保
extension=php_curl.dll
没有被注释掉 - 尝试了不同版本的PHP
- 下载了固定的 curl 扩展并替换它(参考)
我的代码:
function getToken() {
echo "start gettoken";
$jsonStr = http_build_query(Array(
"client_id" => "***",
"scope" => "https://graph.microsoft.com/.default",
"client_secret" => "***",
"grant_type" => "client_credentials"
));
$headers = Array("Content-Type: application/x-www-form-urlencoded");
$ch = curl_init("https://login.microsoftonline.com/***.onmicrosoft.com/oauth2/v2.0/token");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonStr);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$token = curl_exec($ch);
echo "test after curl";
var_dump($token);
echo $token;
return $token;
curl_error($ch);
}
有人可以帮我解决这个问题吗?
解决方案
启用php_curl.dll
扩展,好像它被禁用了。您可以通过使用来验证它
echo phpinfo();
或直接访问 php.ini 以检查它是否已禁用。
停止wamp
服务器,打开php.ini
,搜索extension=php_curl.dll
并取消注释。
保存文件并重新启动服务器。
推荐阅读
- python - 为函数 cv2.createBackgroundSubtractorMOG2() 设置初始背景
- reactjs - 如何在 Reach Route 组件中使用所需的道具
- php - 从数组更新实体
- r - 在 R & R Shiny 中从 SQL 查询创建下拉列表
- vue.js - 创建主 Vue 实例之前的 Vue 路由
- amcharts - amchart 4 在本地工作正常,但在部署后显示多行
- openstack - 创建 octavia 负载均衡器失败并显示“Nova 无法构建实例,原因是:提供的 key_name 无效”
- r - 基于限制的数据框中多列的频率列表
- python - 如何避免这种糟糕的 Mypy 语法?
- java - Junit 测试总是返回 false