连接失败:SQLSTATE [HY000] [2002] php_network_getaddresses:的getaddrinfo失败:产品名称或服务不知道

问题描述:

我使用mysql数据库,我部署我有一些托管公司的数据,它工作正常,但他们吸,所以我迁移到upCloud。我现在面临的连接到数据库中的问题,并得到一个错误:连接失败:SQLSTATE [HY000] [2002] php_network_getaddresses:的getaddrinfo失败:产品名称或服务不知道

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

$servername = 'localhost'; 
$username = "root"; 
$password = "password"; 
$database = 'dbname'; 

try{ 
    $conn = new PDO("mysql:host=localhost;dbname=driver", $username, $password); 
    // set the PDO error mode to exception 
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
    echo "Connected successfully"; 
    } 
catch(PDOException $e) 
    { 
    echo "Connection failed: " . $e->getMessage(); 
    } 

我试图改变本地主机为127.0.0.1,但没有运气,我也试过在串操纵单引号和双引号,但也它没有工作。你能告诉我为什么我得到这个错误吗? 我在Ubonto 16.04部署此

+0

什么upCloud的用于连接到数据库的建议? –

+0

“建议”是什么意思? –

+0

DidUpCloud告诉你数据库是如何配置的?它有私人IP吗?它位于您的网站所在的实例上吗? –

仔细检查您的数据库连接的详细信息(主机,数据库名称,用户名和密码)。

如果仍然无法正常工作,那么显然最近在Ubuntu上发现并报告了一个bug,如果重新启动服务器,它会自行修复它。

更多细节在这里列出:

  1. 错误报道的Ubuntu: https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1674733

  2. 哪里这个问题报道和讨论的另一个*的链接: PDOException: SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known

希望它能帮助:)


编辑:

的Ubuntu显然已经发布了一个补丁,以及:https://www.ubuntu.com/usn/usn-3239-2/

更新你的Ubuntu和库的版本,在这个页面中列出。