PHP - 在两个站点之间使用CURL获取返回值

时间:2017-03-17 12:30:36

标签: php curl

我有两个PHP站点,一个API站点(x.php)和另一个,它使用CURL(y.php)调用API站点

x.php看起来像这样:

if (isset($_POST['testconnection'])) {
        return "ok";
}

y.php就像这样:

$host = "https://there.is.the/x.php";
$command = array (
        "testconnection" => "testconnection"
);

$ch=curl_init($host);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($command));
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_TIMEOUT,180);

$response = curl_exec($ch);
curl_close($ch);

var_dump($response);

正如您在示例中所看到的,我想从y.php中的x.php获取返回字符串,但我在答案中得到一个空字符串:string(0)“” 我认为这将是:string(2)“ok” 我已将x.php中的返回替换为echo,但没有成功。

很抱歉,如果这是一个noob问题,我在卷曲方面很新。

1 个答案:

答案 0 :(得分:0)

替换

return "ok";

echo "ok";

您的脚本正在退出并返回值,但不会输出任何内容作为响应。 需要注意的是,Web服务器必须具有访问 x.php 的权限。验证脚本是否能够执行。权限问题通常会导致页面空白。

提示:使用Postman测试REST API。您可以针对 x.php 拍摄帖子查询并查看返回的内容,从而消除卷曲部分错误。