【发布时间】:2017-01-26 10:50:13
【问题描述】:
我正在使用以下代码来执行 curl。但运行后它不会产生输出。我确定我已经通过删除';'在 php.ini 中启用了 curl。还尝试了 phpinfo();这也表示 curl 已启用。不过,我的代码还是不行!甚至没有错误作为输出。
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
$token = ""; //token from fb
$url = 'https://graph.facebook.com/v2.6/me/messages?access_token='.$token;
$ch = curl_init($url);
$jsonData = '{
"recipient":{
"id":"1250896051638221"
},
"message":{
"text":"5"
}
}';
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonData);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
$result = curl_exec($ch);
curl_close($ch);
print_r($result);
?>
我正在使用带有 XAMPP (php7) 的 Windows 机器(Windows 10)
【问题讨论】:
-
您是从 cli 运行脚本吗?它可能有不同的配置。或者当
$result为假时尝试curl_error($ch) -
在
curl_exec($ch)curl_error 返回一个包含当前会话的最后一个错误的字符串之后 -
不要使用 print_r(如果值为
false,它不会给你任何输出)——使用 var_dump。 -
看起来 curl/php 无法访问 CA 文件。 phpinfo() 中的 curl 部分向您展示了什么? facebook 证书很好,所以
-
您不需要将
CURLOPT_RETURNTRANSFER也设置为true 吗?