【问题标题】:file_get_contents(): php_network_getaddresses: getaddrinfo failed: Name or service not known with Nginxfile_get_contents(): php_network_getaddresses: getaddrinfo failed: Name or service not known with Nginx
【发布时间】:2017-03-21 14:19:22
【问题描述】:

每当我尝试使用 file_get_contents(或 curl)时,我就开始收到此错误消息。

我在 Ubuntu 上运行 Nginx,我认为这是 Nginx 中的一个问题,因为如果我尝试从服务器运行相同的文件 (php file.php),它会完美运行。

什么可能导致这个问题?

【问题讨论】:

  • 您是否检查过文件的权限没有改变?
  • 嗨,我刚刚尝试将权限更改为 777。仍然是同样的错误。
  • 所以文件本身从它托管的服务器加载正常。但是尝试从外部服务器获取其内容是失败的,是吗?你怎么称呼它?通过 IP 或域名?
  • 好吧,例如我只是做一些像echo file_get_contents('https://google.com');这样简单的事情
  • 哦,所以它没有加载任何东西?不只是一个特定的文件?

标签: php nginx


【解决方案1】:

我在 Ububntu + Apache 上也发生了同样的事情。 重新启动服务器,它神奇地解决了这个问题。

【讨论】:

  • 谢谢!刚遇到这个问题。重新启动服务器,它是固定的。哈哈不知道为什么。谢谢!
【解决方案2】:

重新启动会暂时修复它,但它会回来。一个更新导致了这个问题:https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1674733

【讨论】:

    【解决方案3】:

    我在两台不同的服务器上遇到了同样的问题。

    对我来说,重新启动 PHP 解决了这个问题(暂时)。

    sudo service php7.0-fpm restart
    

    我每天大约会受到一次问题的影响。因此,我设置了一个 cronjob 以每小时重新启动 PHP。我希望尽快有一个真正的修复。

    我的环境: Ubuntu 16.04 @AWS EC2 PHP 7.0

    MySQL 5.6 @AWS RDS

    【讨论】:

      猜你喜欢
      • 2021-08-07
      • 2019-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-14
      • 2019-12-18
      相关资源
      最近更新 更多