You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

零基础入门PHP/HTML遇file_get_contents警告问题求助

解决file_get_contents调用API的警告问题

嘿,别着急!刚入门编程遇到这种警告太正常了,我来一步步帮你解决这个问题~

你遇到的Warning: file_get_contents(...)通常是因为PHP的配置限制或者SSL证书验证的问题,针对你的场景,我给你几个简单易懂的解决方案:

方法1:开启PHP的allow_url_fopen配置

默认情况下,有些XAMPP的PHP配置里allow_url_fopen是关闭的,这会阻止PHP通过URL获取内容:

  • 打开XAMPP控制面板,点击Apache旁边的Config,选择PHP (php.ini)
  • 在打开的php.ini文件里,搜索allow_url_fopen
  • 把allow_url_fopen = Off改成allow_url_fopen = On
  • 保存文件,重启Apache服务,再刷新页面试试

方法2:跳过SSL证书验证(仅适合本地测试)

有时候本地环境没有配置正确的SSL证书,调用HTTPS链接会报错。你可以给file_get_contents添加一个跳过验证的上下文,修改后的代码如下:

$url = "https://www.bitstamp.net/api/ticker/";
// 创建跳过SSL验证的上下文
$context = stream_context_create([
    'ssl' => [
        'verify_peer' => false,
        'verify_peer_name' => false
    ]
]);
$fgc = file_get_contents($url, false, $context);
$json = json_decode($fgc, true);
$price = $json["last"];
$high = $json["high"];
$low = $json["low"];
$date = date("m-d-Y - h:i:sa");
$open = $json["open"];

注意:这个方法只适合本地测试用,上线项目绝对不能这么做,会有安全风险!

方法3:用cURL替代file_get_contents(更稳定)

如果上面的方法都不行,cURL是兼容性更好的HTTP请求工具,很多生产环境都会用它。替换后的代码如下:

$url = "https://www.bitstamp.net/api/ticker/";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// 测试环境跳过SSL验证
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
$fgc = curl_exec($ch);
curl_close($ch);
$json = json_decode($fgc, true);
$price = $json["last"];
$high = $json["high"];
$low = $json["low"];
$date = date("m-d-Y - h:i:sa");
$open = $json["open"];

最后记得每次修改配置或代码后,重启Apache再测试哦!刚入门难免踩坑,慢慢来,你已经做得很棒了~

内容的提问来源于stack exchange,提问作者Saha Nov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 04:10:52