简体   繁体   English

警告:file_get_contents():php_network_getaddresses:getaddrinfo 失败:名称无法解析

[英]Warning: file_get_contents(): php_network_getaddresses: getaddrinfo failed: Name does not resolve

I am running a php:7-fpm-alpine Docker container and have a Symfony command that calls the following function (simplified a bit for display here): I am running a php:7-fpm-alpine Docker container and have a Symfony command that calls the following function (simplified a bit for display here):

protected function getNextEndpointAsObj()
{
    $asObj = json_decode(file_get_contents('https://www.muckrock.com/api_v1/jurisdiction/?format=json&page=1'));

    return $asObj;
}

... and when I run the command from within my Docker container, I get this error message: ...当我从 Docker 容器中运行命令时,我收到以下错误消息:

Warning: file_get_contents(): php_network_getaddresses: getaddrinfo failed: Name does not resolve警告:file_get_contents():php_network_getaddresses:getaddrinfo 失败:名称无法解析

... but when I run a short test.php script... ...但是当我运行一个简短的 test.php 脚本时...

<?php

echo file_get_contents('https://www.muckrock.com/api_v1/jurisdiction/?format=json&page=1');

?>

... from either inside or outside the container, I get correct output from the API I'm testing against. ...从容器内部或外部,我从正在测试的 API 得到正确的 output。

What's going on here?这里发生了什么?

Did you run a short test.php inside the container too?您是否也在容器内运行了一个简短的 test.php ?

It is not a Symfony or PHP problem.这不是 Symfony 或 PHP 问题。 In short container's network cannot resolve the IP address of the domain muckrock.com.简而言之,容器的网络无法解析域 muckrock.com 的 IP 地址。 Look for DNS settings for your container network.查找容器网络的 DNS 设置。 Tell more about your infrastructure.详细介绍您的基础架构。 It is Kubernetes or something another?是 Kubernetes 还是别的什么?

For raw docker container running you can use something likethis :对于运行的原始 docker 容器,您可以使用以下内容:

docker run -it --dns=8.8.8.8 php:7-fpm-alpine /bin/sh

Or for docker-compose something like this (or for version 3 as more actual)或者对于 docker-compose 类似这样的东西(或者对于版本 3来说更实际)

version: 2
services:
 application:
  dns:
   - 8.8.8.8

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 警告:file_get_contents(): php.network_getaddresses: getaddrinfo - Warning: file_get_contents(): php_network_getaddresses: getaddrinfo file_get_contents():php_network_getaddresses:getaddrinfo失败 - file_get_contents(): php_network_getaddresses: getaddrinfo failed file_get_contents(): php_network_getaddresses: getaddrinfo 失败: 名称或服务未知 - file_get_contents(): php_network_getaddresses: getaddrinfo failed: Name or service not known file_get_contents():php_network_getaddresses:getaddrinfo失败:Nginx未知的名称或服务 - file_get_contents(): php_network_getaddresses: getaddrinfo failed: Name or service not known with Nginx file_get_contents(): php_network_getaddresses: getaddrinfo failed: No such host is known - file_get_contents(): php_network_getaddresses: getaddrinfo failed: No such host is known PHP警告:get_headers():php_network_getaddresses:getaddrinfo失败:file.php中的系统错误 - PHP Warning: get_headers(): php_network_getaddresses: getaddrinfo failed: System error in file.php 警告:php_network_getaddresses:getaddrinfo失败:此类主机未知 - Warning : php_network_getaddresses: getaddrinfo failed: No such host is known 得到“ PHP警告:PDO :: __ construct():php_network_getaddresses:getaddrinfo失败:名称或服务未知” - Getting “PHP Warning: PDO::__construct(): php_network_getaddresses: getaddrinfo failed: Name or service not known” 警告:mysqli_connect():php_network_getaddresses:getaddrinfo失败:名称或服务未知 - Warning: mysqli_connect(): php_network_getaddresses: getaddrinfo failed: Name or service not known php.network_getaddresses:getaddrinfo 失败:名称或服务未知 - php_network_getaddresses: getaddrinfo failed: Name or service not known
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM