PDOException:SQLSTATE php_network_getaddresses:getaddrinfo失败:名称或服务未知

我有一个EC2实例,其中Laravel 5应用程序托pipe。 数据库是Amazon Aurora RDS。 该应用程序运行良好数月。 但今天早上,API无法访问。 除了对使用数据库的API的任何调用之外,其他所有工作都是如此 其他电话服务正常。 错误logging为:

PDOException: SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known 

但是我可以使用相同的确切细节连接到MySQL Workbench等相同的数据库,同时在应用程序文件中没有任何变化。

我重新启动了Nginx,问题马上解决,一切恢复正常。

我还不知道发生了什么事。 任何人都可以教育我,因为我不确定问题是否能够随机回来,以及如何阻止这种情况的发生。

在使用Ubuntu 14.04的AWS EC2上也有同样的问题。 昨晚无人值守升级:

2017-03-21 03:42:53,570 INFO将要升级的软件包:libc-bin libc-dev-bin libc6 libc6-dev libfreetype6 libfreetype6-dev locales multiarch-support

刚刚在Ubuntu的bug跟踪器上创建了一个案例: https : //bugs.launchpad.net/ubuntu/+source/glibc/+bug/1674733

请点击“这个bug影响到我”来确定ubuntu侧的修复优先级。

他们已经发出修复。 请参阅此链接以及发行底部的说明。 https://www.ubuntu.com/usn/usn-3239-2/

我遇到完全相同的问题。 Ubuntu 16.04,PHP和Drupal – 今天早上刚刚开始。 我已经重新加载了apache,并且暂时解决了这个问题:

服务apache2重新加载

但是这并不能永久性地解决问题,而且它又一次回来了。

截至3月20日,网络上的许多Ubuntu用户突然在他们的应用程序中出现DNS解析问题,这是由于Canonical(Ubuntu的维护人员)在正常运行几小时后打破了DNS解析的一个糟糕的更新。 以下是报告和分类问题的错误报告:

https://bugs.launchpad.net/ubuntu/+source/eglibc/+bug/1674532

这可能导致CMS无法更新/安装插件/安装主题,连接到外部API失败和/或类似于以下内容的错误消息:

 Warning: file_get_contents(): php_network_getaddresses: getaddrinfo failed: No address associated with hostname Could not resolve host: downloads.wordpress.org cURL error 6: Could not resolve host: example.com in.... 

幸好Canonical已经能够解决这个问题,但受影响的系统必须更新才能获得修复。 要做到这一点,你需要DNS工作,所以如果它现在停下来,请先重新启动你的Droplet。 一旦DNS解析正常,请运行:

 sudo apt-get update sudo apt-get upgrade 

然后你可以检查你的版本,以确保你有正确的。 这可以通过以下方式完成:

 # sudo dpkg -l | grep "GNU C Library" | awk '{print $3}' 

如果你在Ubuntu 16.X,你应该看到类似于以下的输出:

 # sudo dpkg -l | grep "GNU C Library" | awk '{print $3}' 2.23-0ubuntu7 2.23-0ubuntu7 2.23-0ubuntu7 

如果您使用的是Ubuntu 14.X,则应该看到类似于以下内容的输出:

 # sudo dpkg -l | grep "GNU C Library" | awk '{print $3}' 2.19-0ubuntu6.11 2.19-0ubuntu6.11 

如果您看到这些软件包的旧版本,则需要根据以前的说明进行升级以避免此问题。

我们今天刚刚经历过。 我们使用PHP 7.0在Ubuntu 16.04上运行Drupal 7,EC2中的nginx连接到RDS实例。

我们确实启用了无人值守的升级,今天上午升级了以下内容:

开始日期:2017-03-21 06:13:56命令行:/ usr / bin / unattended-upgrade升级:libc6:amd64(2.23-0ubuntu3,2.23-0ubuntu6),locales:amd64(2.23-0ubuntu3,2.23-0ubuntu6 ),libc-bin:amd64(2.23-0ubuntu3,2.23-0ubuntu6),multiarch-support:amd64(2.23-0ubuntu3,2.23-0ubuntu6),libfreetype6:amd64(2.6.1-0.1ubuntu2,2.6.1-0.1ubuntu2。 1)结束日期:2017-03-21 06:14:00

解决方案是重新启动nginx和PHP:

 sudo service nginx restart sudo service php7.0-fpm restart