首页 > 解决方案 > curl_exec() 自动运行 var_dump()

问题描述

我一直在开发一个使用 cURL 访问外部 API 的 PHP 项目。尽管通过 API 连接成功,但一件微妙的事情困扰着我……那就是“curl_exec($curl) 的返回值会自动转储”。

这是我的代码。

$curl = curl_init();

curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($curl, CURLOPT_HTTPHEADER, ["Content-Type: application/x-www-form-urlencoded"]);
curl_setopt($curl, CURLOPT_URL, 'http://...');
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($some_post_data));

$result = curl_exec($curl);

curl_close($curl);

就这样。

我没有写“var_dump”或“print_r”或任何输出结果的东西。尽管如此,显示器上总是有转储的结果值......更准确地说,转储发生在行

$result = curl_exec($curl);

有谁知道发生了什么?

标签: phpcurlvar-dump

解决方案


将 CURLOPT_RETURNTRANSFER 设置为 TRUE 以将传输作为 curl_exec() 的返回值的字符串返回,而不是直接输出。

curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

推荐阅读