响应内容必须是实现__toString()的字符串或对象,“ boolean”

时间:2018-10-12 06:47:38

标签: laravel boolean file-get-contents tostring

我有一个API,我想使用laravel代码使用file_get_contents获得此API详细信息。但是我收到此错误“响应内容必须是实现__toString()的字符串或对象,给出了“布尔值”。 这是我的代码,

$context = stream_context_create(array(
    'http' => array(
        'header'  => "Authorization: Basic " . base64_encode("$username:$password") 
    )
));

$ss =  @file_get_contents($url, false, $context);
return $ss;

我该如何解决?

2 个答案:

答案 0 :(得分:0)

您必须返回字符串:

if($ss)
   return 'success';

答案 1 :(得分:0)

您的错误消息表明您正在返回布尔值,这意味着您对file_get_contents()的调用返回了false,这意味着调用失败了。

您需要以下信息:

$ss =  @file_get_contents($url, false, $context);

if ($ss === false) {
    return 'file_get_contents failed.';
}

return $ss;

如果您想知道file_get_contents()失败的原因,则需要删除@符号以停止排除该错误。