首页 > 解决方案 > 响应内容必须是实现 __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;

我该如何解决?

标签: laravelbooleanfile-get-contentstostring

解决方案


您的错误消息说您正在返回一个布尔值,这意味着您的调用file_get_contents()正在返回false,这意味着调用失败。

你需要类似的东西:

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

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

return $ss;

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


推荐阅读