PHP 中的 cURL 后无法回显任何内容

Cant echo anything after cURL in PHP

我的卷发效果很好。 cURL所在的文件是一个PHP文件,由.ajax

执行

我在 PHP 文件末尾回显 $apikey,没有 cURL 脚本。它打印正确。

但是,一旦我放入 cURL,$apikey 就会停止打印

$ch = curl_init("https://url");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Authorization: Bearer $apikey",
"Content-Type: application/json; charset=utf-8",
"Content-Length: " . strlen($data_string)
));

$json = curl_exec($ch);
curl_close($ch); //close the connection

echo $apikey;

如果我删除 curl_init 行,$apikey 会正确打印。

我在想 cURL 结果以某种方式阻止了之后执行的任何操作,但意识到如果我尝试 $json 也不会打印。

我也尝试过使用 curl_setopt($ch, CURLOPT_VERBOSE, false); 但没有区别。 在这里也找不到任何有用的东西。

知道可能是什么问题吗?

更新 Ajax片

$.ajax({
 url: "curl.php",
 method: "POST",
 data: {
    date: date,
    time: time,
    account: account,
    userid: userid
 },
 success: function(response) {
    console.log(response);
    alert(response);    
 }
});

谢谢你,阿迪森。刚刚发现问题是什么......有趣的是它不需要对 .ajax 做任何事情,也不需要卷曲......触发 ajax 的按钮在一个表单中。因此,提交是在 ajax 执行的同时发生的。删除表格税解决了这个问题。

但我相信您应该为达到这一点而获得所有荣誉。所以,请回复问题,我可以很高兴地给你加分。

从评论/聊天来看,问题的根本原因似乎是您的 AJAX 调用从未真正起作用,因为表单同时提交并导致页面刷新。因此,删除此表单提交将导致按钮仅触发 AJAX 请求,而不会触发其他任何内容。然后一切都按预期工作。 cURL 没有错。