laravel - 响应内容必须是实现 __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;
我该如何解决?
解决方案
您的错误消息说您正在返回一个布尔值,这意味着您的调用file_get_contents()
正在返回false
,这意味着调用失败。
你需要类似的东西:
$ss = @file_get_contents($url, false, $context);
if ($ss === false) {
return 'file_get_contents failed.';
}
return $ss;
如果您想知道file_get_contents()
失败的原因,则需要删除该@
标志以停止抑制错误。
推荐阅读
- xmpp - Openfire XMPP 服务器——如何使用工作组而非域设置本地 Anea 网络
- c - 使用C计算Linux中目录和子目录中的文件
- json - 如何定义 a.json 属性“子”取决于 JSON 模式中的 b.json 属性“父”
- python - 如何使用 python 和 postgresql 在单列中存储多条记录?
- javascript - 使用 getStaticProps 序列化时出错 - nextjs
- aws-lambda - 立即返回成功响应的 Api 的邮递员测试
- java - Pega Platform 个人版 8.6 登录页面出现 404 错误
- validation - 在 Blazor 中,通过 DataAnnotation 验证 InputText 后执行方法
- swift - 在 Firestore 中,按 unix 时间或时间戳对帖子进行排序会更有效吗?
- encryption - 检测使用 AES CBC 加密的文本是否被填充