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

PHP中file_get_contents调用IPv6地址失败:连接被拒绝

PHP中file_get_contents访问IPv6地址报"Connection refused"的解决办法

排查方向及解决方案

  • 检查PHP配置:确认php.ini里的allow_url_fopen参数是否设为On,该选项关闭时file_get_contents无法发起HTTP请求。
  • 验证IPv6支持:先确认PHP环境能识别目标IPv6地址,执行以下代码测试:
    var_dump(filter_var('[你的IPv6地址]', FILTER_VALIDATE_IP, FILTER_FLAG_IPV6));
    
    如果返回bool(false),说明PHP无法解析该IPv6地址,需检查服务器的IPv6网络配置。
  • 确认端口与协议:确保目标服务监听的是URL中指定的端口(默认80),若服务用了其他端口,需在URL中明确添加,比如http://[ipv6-address]:8080;另外尝试切换为HTTPS协议测试,即https://[ipv6-address]。
  • 替换为cURL工具:file_get_contents对IPv6的兼容性不如cURL,改用cURL实现:
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "http://[ipv6-address]");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V6); // 强制使用IPv6解析
    $return_value = curl_exec($ch);
    curl_close($ch);
    
  • 检查防火墙规则:服务器的防火墙或安全组可能阻止了PHP进程的IPv6出站请求,需放行目标IPv6地址对应端口的访问权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 09:50:56